Je souhaite générer un fichier XML depuis un script shell. Dans mon
script, j'utilise un fichier de configuration qui comporte MACHINE IP
PROJET de type :
> TOTO 192.168.0.1 XML01
> TATA 192.168.0.2 XML01
> TOTO 192.168.0.3 XML01
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Stephane Chazelas
2008-04-29, 13:26(+02), azerty:
Bonjour,
Je souhaite générer un fichier XML depuis un script shell. Dans mon script, j'utilise un fichier de configuration qui comporte MACHINE IP PROJET de type :
TOTO 192.168.0.1 XML01 TATA 192.168.0.2 XML01 TOTO 192.168.0.3 XML01
awk ' { a[$1] = a[$1] "<TROIS="PIF" IP="" $2 "" QUATRE="POUF"/>n" b[$1] = $3 } END { print "<root>n" for (i in a) print "<UN="" b[i] "" Machine="" i "" />" print "" for (i in a) printf "<DEUX="%s" >n%s</DEUX>nn", i, a[i] print "</root>" }' < input > output
-- Stéphane
2008-04-29, 13:26(+02), azerty:
Bonjour,
Je souhaite générer un fichier XML depuis un script shell. Dans mon
script, j'utilise un fichier de configuration qui comporte MACHINE IP
PROJET de type :
TOTO 192.168.0.1 XML01
TATA 192.168.0.2 XML01
TOTO 192.168.0.3 XML01
awk '
{
a[$1] = a[$1] "<TROIS="PIF" IP="" $2 "" QUATRE="POUF"/>n"
b[$1] = $3
}
END {
print "<root>n"
for (i in a)
print "<UN="" b[i] "" Machine="" i "" />"
print ""
for (i in a)
printf "<DEUX="%s" >n%s</DEUX>nn", i, a[i]
print "</root>"
}' < input > output
Je souhaite générer un fichier XML depuis un script shell. Dans mon script, j'utilise un fichier de configuration qui comporte MACHINE IP PROJET de type :
TOTO 192.168.0.1 XML01 TATA 192.168.0.2 XML01 TOTO 192.168.0.3 XML01
awk ' { a[$1] = a[$1] "<TROIS="PIF" IP="" $2 "" QUATRE="POUF"/>n" b[$1] = $3 } END { print "<root>n" for (i in a) print "<UN="" b[i] "" Machine="" i "" />" print "" for (i in a) printf "<DEUX="%s" >n%s</DEUX>nn", i, a[i] print "</root>" }' < input > output
-- Stéphane
azerty
Stephane Chazelas wrote:
[...]
awk ' { a[$1] = a[$1] "<TROIS="PIF" IP="" $2 "" QUATRE="POUF"/>n" b[$1] = $3 } END { print "<root>n" for (i in a) print "<UN="" b[i] "" Machine="" i "" />" print "" for (i in a) printf "<DEUX="%s" >n%s</DEUX>nn", i, a[i] print "</root>" }' < input > output
Impeccable, merci Stéphane Je ne m'attendais pas à avoir une réponse si rapide. :)
J'y suis allé doucement ne pensant pas avoir une réponse si rapide.
Peux-tu m'indiquer ce que ça donne avec une donnée supplementaire ?
TOTO 192.168.0.1 XML01 SCRIPT01 TATA 192.168.0.2 XML01 SCRIPT01 TOTO 192.168.0.3 XML01 SCRIPT02
awk '
{
a[$1] = a[$1] "<TROIS="PIF" IP="" $2 "" QUATRE="POUF"/>n"
b[$1] = $3
}
END {
print "<root>n"
for (i in a)
print "<UN="" b[i] "" Machine="" i "" />"
print ""
for (i in a)
printf "<DEUX="%s" >n%s</DEUX>nn", i, a[i]
print "</root>"
}' < input > output
Impeccable, merci Stéphane Je ne m'attendais pas à avoir une réponse si
rapide. :)
J'y suis allé doucement ne pensant pas avoir une réponse si rapide.
Peux-tu m'indiquer ce que ça donne avec une donnée supplementaire ?
TOTO 192.168.0.1 XML01 SCRIPT01
TATA 192.168.0.2 XML01 SCRIPT01
TOTO 192.168.0.3 XML01 SCRIPT02
awk ' { a[$1] = a[$1] "<TROIS="PIF" IP="" $2 "" QUATRE="POUF"/>n" b[$1] = $3 } END { print "<root>n" for (i in a) print "<UN="" b[i] "" Machine="" i "" />" print "" for (i in a) printf "<DEUX="%s" >n%s</DEUX>nn", i, a[i] print "</root>" }' < input > output
Impeccable, merci Stéphane Je ne m'attendais pas à avoir une réponse si rapide. :)
J'y suis allé doucement ne pensant pas avoir une réponse si rapide.
Peux-tu m'indiquer ce que ça donne avec une donnée supplementaire ?
TOTO 192.168.0.1 XML01 SCRIPT01 TATA 192.168.0.2 XML01 SCRIPT01 TOTO 192.168.0.3 XML01 SCRIPT02
awk ' { a[$1] = a[$1] "<TROIS="PIF" IP="" $2 "" QUATRE="POUF"/>n" b[$1] = $3 } END { print "<root>n" for (i in a) print "<UN="" b[i] "" Machine="" i "" />" print "" for (i in a) printf "<DEUX="%s" >n%s</DEUX>nn", i, a[i] print "</root>" }' < input > output
Impeccable, merci Stéphane Je ne m'attendais pas à avoir une réponse si rapide. :)
J'y suis allé doucement ne pensant pas avoir une réponse si rapide.
Peux-tu m'indiquer ce que ça donne avec une donnée supplementaire ?
Soit un fichier texte contenant :
UN DEUX TROIS QUATRE CINQ SIX [...]
Ou pour x fois UN il peut y avoir plusieurs DEUX, TROIS, QUATRE, etc.
awk '
{
a[$1] = a[$1] "<TROIS="PIF" IP="" $2 "" QUATRE="POUF"/>n"
b[$1] = $3
}
END {
print "<root>n"
for (i in a)
print "<UN="" b[i] "" Machine="" i "" />"
print ""
for (i in a)
printf "<DEUX="%s" >n%s</DEUX>nn", i, a[i]
print "</root>"
}' < input > output
Impeccable, merci Stéphane Je ne m'attendais pas à avoir une réponse si
rapide. :)
J'y suis allé doucement ne pensant pas avoir une réponse si rapide.
Peux-tu m'indiquer ce que ça donne avec une donnée supplementaire ?
Soit un fichier texte contenant :
UN DEUX TROIS QUATRE CINQ SIX
[...]
Ou pour x fois UN il peut y avoir plusieurs DEUX, TROIS, QUATRE, etc.
awk ' { a[$1] = a[$1] "<TROIS="PIF" IP="" $2 "" QUATRE="POUF"/>n" b[$1] = $3 } END { print "<root>n" for (i in a) print "<UN="" b[i] "" Machine="" i "" />" print "" for (i in a) printf "<DEUX="%s" >n%s</DEUX>nn", i, a[i] print "</root>" }' < input > output
Impeccable, merci Stéphane Je ne m'attendais pas à avoir une réponse si rapide. :)
J'y suis allé doucement ne pensant pas avoir une réponse si rapide.
Peux-tu m'indiquer ce que ça donne avec une donnée supplementaire ?
Soit un fichier texte contenant :
UN DEUX TROIS QUATRE CINQ SIX [...]
Ou pour x fois UN il peut y avoir plusieurs DEUX, TROIS, QUATRE, etc.