extraction des parties d'un fichier xml - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 16-05-2011 à 16:03:30
j'ajoute une autre clarification. je cherche des informations entre des balises ouvrantes er fermantes bien déterminée.
Marsh Posté le 16-05-2011 à 16:13:46
je vais extraire des lignes xml entre deux commentaires bien déterminées.
Marsh Posté le 16-05-2011 à 16:59:30
cat, grep, sed, awk.
Voilà tes outils.
Marsh Posté le 16-05-2011 à 17:08:11
Fork Bomb a écrit : cat, grep, sed, awk. |
Je pense qu'il existe des outils plus dédiés pour exploiter facilement de l'XML (ce qui est un peu le but de l'XML)
sinon une rapide recherche :
http://www.unix.com/shell-programm [...] block.html
Marsh Posté le 16-05-2011 à 17:23:41
je n'ai pas compris comment spécifier le block avec awk.
en fait g essayé avec awk mail il me retourne juste la ligne qui contient le motif de recherche.
Je veux extraire tout un block.
Marsh Posté le 17-05-2011 à 15:37:27
merci.
comment pourrais je utiliser une simple transformation xsl.
Marsh Posté le 17-05-2011 à 15:50:56
Suppose que tu aies ce fichier xml:
<?xml version="1.0"?>
<toto>
<titi>
<tutu>valeur</tutu>
</titi>
</toto>
Tu écris cette transformation par exemple:
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:fo="http://www.w3.org/1999/XSL/Format"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml"/>
<xsl:template match="/toto/titi/tutu">
<xsl:copy>
<xsl:apply-templates />
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
Que tu appliques par:
xsltproc fichier.xsl fichier.xml
Marsh Posté le 17-05-2011 à 16:16:52
merci beaucoup de votre aide.
JE n'arrive pas à résoudre cet étape dans mon travail. En fait je n'ai pas des balises qui s'ouvrent et se ferment. Je vais faire cet étape manuellement.
J'ai besoin d'aide sur la deuxième étape:
1. Supposons que j'ai eu les parties de xml dont j'ai besoin dan un autre fichier.
2. Je veux parcourir ce ficher et extraire des champs spécifiques. Si ce champ existe dans un autre fichier xml (que j'ai) => J'indique true
Si le champs existe dans ce fichier et n'existe pas dans l'autres=> J'indique nouveau.
Any help please
Marsh Posté le 19-05-2011 à 10:58:53
bonjour,
je veux créer un script shell qui prend en input une lsite de mots et cherchent s'il existe dans un fichier xml.
merci beaucoup pour votre iade.
Marsh Posté le 19-05-2011 à 13:05:15
o'gure a écrit : man grep |
j'ai crée un script qui prend en entrée le nom du fichier xml, la liste des mot à chercher. Il doit me retourner si chaque mot existe dnas le script xml et dans quelle ligne.
Voici ma version.
Je suis débutante et j'ai besoin de votre aide:
Code :
|
merci beaucoup pour votre aide.
Marsh Posté le 19-05-2011 à 13:24:04
je pense que tu n'as pas bien saisi l'utilité de la commande wc et si tu veux récupérer les lignes où sont présents tes mots il va te falloir traiter la sortie de grep à coup de awk (et relire le man de grep pour trouver comment afficher les numéros de ligne)
Marsh Posté le 19-05-2011 à 14:25:41
o'gure a écrit : je pense que tu n'as pas bien saisi l'utilité de la commande wc et si tu veux récupérer les lignes où sont présents tes mots il va te falloir traiter la sortie de grep à coup de awk (et relire le man de grep pour trouver comment afficher les numéros de ligne) |
Vous avez tout à fait raison.
Je dois utiliser awk.
Voici un exemple de output par grep directement pour déterminer le nombre de ligne.
20: <capability name="bmp" value="true"/>
j'ai modifié ma commande comme suit pour avoir ce résultat:
Code :
|
maintenant je dois utiliser le awk pour extraire juste le motif nombre de ligne. J'ai fait comme suit:
Code :
|
mais ça n'a pas marché. Comment dois je la modifier.
Merci beaucoup.
Marsh Posté le 19-05-2011 à 14:40:54
ensienne a écrit :
|
J'arrive à le modifier pour extraire le nombre de ligne. Voici la versin modifiée:
Code :
|
Mais il ne fonctionne pas comme il faut.
En fait il commence le parcours à partir de nom de script et le nom de fichier xml donné en paramètre. Je veux éliminer ses deux cas.Je veux qu'il commence son parcours à partir de paramètre 2. (enlever le nom du script et le nom du fichier xml donné en entrée).
En plus je veux avoir un affichage comme suit:
format1: lig1 lign2
avec fomat1 est le motif donné dans la liste d'entrée et lig1, lign2 les numéros de ligne ou est détecté ce motif dans le fichier xml.
Merci beaucoup pour votre aide.
Marsh Posté le 16-05-2011 à 15:33:14
Bonjour,
Je veux créer un script shell qui permet d'extraire des parties d'un fichier xml (définies par les noms des balises) et les mettre dans un autre fichier xml comme output.
Merci pour votre aide.