|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Invité de passage
![]() Inscription : décembre 2006 Messages : 23 ![]() |
Bonjour,
Je voudrais remplacer tout un ensemble de lignes par un autre ensemble de lignes et ce dans plusieurs fichiers de la même structure. Je m'explique : j'ai une multitude de fichiers xml contenant le paragraphe suivant : Code :
Code :
Merci pour vos réponses. |
||||
|
|
00
|
|
|
#2 |
|
Invité de passage
![]() Inscription : décembre 2006 Messages : 23 ![]() |
J'ai trouvé tout seul l'astuce, qui est la suivante :
sed -e "/tata>/,/<\/tata/d" pour supprimer tout ce qu'il y a entre "tata> et "</tata" pour ne laisser que "<>" puis sed -e "s/<>/<tutu>(...)contenu divers en faisant attention au caracteres speciaux(...)<\/tutu>/g" pour remplacer le "<>" sur une seule ligne par mon paragraphe entier Ceci dans un script avec une boucle for pour pouvoir parcourir tous les fichiers. Qu'en pensez-vous ? |
|
|
00
|
|
|
#3 | ||||||
|
Membre expérimenté
![]() Inscription : mars 2007 Messages : 469 ![]() |
Je te propose la solution suivante
cat test.xml Code :
Code :
1) r (read) lit et insère le fichier tutu.xml avant l'élément <tata> 2) delete de <tata> à </tata> Code :
sed -e "/^<tata>/r tutu.xml" -e "/^<tata>/,/^<\/tata>/d" test.xml Résultat : Code :
__________________
Loi de Murphy: La Théorie c'est quand ça ne marche pas mais que l'on sait pourquoi. La Pratique c'est quand ça marche mais qu'on ne sait pas pourquoi. Quand la théorie rejoint la pratique ça ne marche pas et on ne sait pas pourquoi. |
||||||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com