Boucle for pour avoir xml file
Résolu
tianamalalajean
-
tianamalalajean -
tianamalalajean -
Bonjour,
Je veux avoir le résultat ci-dessous en utilisant le "script.sh" avec la boucle "for" à partir du fichier source "file" mais le résultat n'est pas concluant, est-ce que quelqu'un peut m'aider sur ce souci? A noter que je vais l'utiliser pour une centaine de paramètre (dans cet exemple ce n'est que 3)
- Résultat attendu:
- Fichier input:
- Script utilisé:
- Résultat obtenu:
Je veux avoir le résultat ci-dessous en utilisant le "script.sh" avec la boucle "for" à partir du fichier source "file" mais le résultat n'est pas concluant, est-ce que quelqu'un peut m'aider sur ce souci? A noter que je vais l'utiliser pour une centaine de paramètre (dans cet exemple ce n'est que 3)
- Résultat attendu:
# cat resultat.xml
<le fruit>banane</le fruit>
<le dessert>banane</le dessert>
<en couleur>jaune</en couleur>
<reste>jaune</reste>
<le fruit>fraise</le fruit>
<le dessert>fraise</le dessert>
<en couleur>rouge</en couleur>
<reste>rouge</reste>
<le fruit>mangue</le fruit>
<le dessert>mangue</le dessert>
<en couleur>vert</en couleur>
<reste>vert</reste>
#
- Fichier input:
# cat file
banane jaune
fraise rouge
mangue vert
#
- Script utilisé:
# cat script.sh
echo "Enter FileName:"
read fich
awk -F" " '{print $1}' $fich > fruit
awk -F" " '{print $2}' $fich > couleur
for i in 'cat fruit'
do
for j in 'cat couleur'
do
echo "<le fruit>$i</le fruit>" >> resultat.xml
echo "<le dessert>$i</le dessert>" >> resultat.xml
echo "<en couleur>$j</en couleur>" >> resultat.xml
echo "<reste>$j</reste>" >> resultat.xml
echo " " >> resultat.xml
done
done
rm fruit couleur
#
- Résultat obtenu:
# cat resultat.xml
<le fruit>banane</le fruit>
<le dessert>banane</le dessert>
<en couleur>jaune</en couleur>
<reste>jaune</reste>
<le fruit>banane</le fruit>
<le dessert>banane</le dessert>
<en couleur>rouge</en couleur>
<reste>rouge</reste>
<le fruit>banane</le fruit>
<le dessert>banane</le dessert>
<en couleur>vert</en couleur>
<reste>vert</reste>
<le fruit>fraise</le fruit>
<le dessert>fraise</le dessert>
<en couleur>jaune</en couleur>
<reste>jaune</reste>
<le fruit>fraise</le fruit>
<le dessert>fraise</le dessert>
<en couleur>rouge</en couleur>
<reste>rouge</reste>
<le fruit>fraise</le fruit>
<le dessert>fraise</le dessert>
<en couleur>vert</en couleur>
<reste>vert</reste>
<le fruit>mangue</le fruit>
<le dessert>mangue</le dessert>
<en couleur>jaune</en couleur>
<reste>jaune</reste>
<le fruit>mangue</le fruit>
<le dessert>mangue</le dessert>
<en couleur>rouge</en couleur>
<reste>rouge</reste>
<le fruit>mangue</le fruit>
<le dessert>mangue</le dessert>
<en couleur>vert</en couleur>
<reste>vert</reste>
#
A voir également:
- Boucle for pour avoir xml file
- Downloader for pc - Télécharger - Téléchargement & Transfert
- Xml download - Télécharger - Édition & Programmation
- .Bin file - Guide
- .Dat file - Guide
- Host file - Guide
4 réponses
Salut,
$ cat fich
banane jaune
fraise rouge
mangue vert
$ cat template
<le fruit>FRU</le fruit>
<le dessert>FRU</le dessert>
<en couleur>COU</en couleur>
<reste>COU</reste>
$ while read fru cou; do sed "s/FRU/${fru}/;s/COU/${cou}/;" template; echo; done < fich
<le fruit>banane</le fruit>
<le dessert>banane</le dessert>
<en couleur>jaune</en couleur>
<reste>jaune</reste>
<le fruit>fraise</le fruit>
<le dessert>fraise</le dessert>
<en couleur>rouge</en couleur>
<reste>rouge</reste>
<le fruit>mangue</le fruit>
<le dessert>mangue</le dessert>
<en couleur>vert</en couleur>
<reste>vert</reste>