Bonjour,
Je cherche à effectuer une modification dans plusieurs fichiers .xml
En effet, dans le cadre d'un script en php, je dois modifier tous les noms de balises où il existe un trait d'union, comme dans "<edp-article>", et seulement les traits d'union contenus dans les balises, pas ceux du texte.
J'ai écris le script suivant :
Je n'arrive pas à faire en sorte que toutes les substitutions s'effectuent. Seule la dernière commande sed est prise en compte. J'ai essayé en intercalant un pipe et un '&' entre chaque commandes mais rien n'y fait.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 #!/bin/bash i=1; for fichier in *.xml do echo "Traitement de $fichier ..."; sed -e 's/-id/_id/g' "$fichier" > $i.xml ; sed -e 's/-article/_article/g' "$fichier" > $i.xml; sed -e 's/-[a-z]/_title/g' "$fichier" > $i.xml; sed -e 's/-paper/_paper/g' "$fichier" > $i.xml; sed -e 's/-elec/_elec/g' "$fichier" > $i.xml; sed -e 's/-number/_number/g' "$fichier" > $i.xml; sed -e 's/-page/_page/g' "$fichier" > $i.xml; sed -e 's/-name/_name/g' "$fichier" > $i.xml; let "i+=1"; done
Quelqu'un aurait-il une explication ?
Partager