Unix - Commandes sed s - modification fichier
sed : substitution dans un ou N fichier d'une chaine de caractere par une autre.
sed '2 s/10/nouveau/' *.info
2 = la commande n'attaquera que la 2eme ligne du fichier seulement
fin de ligne (retour chariot = $)
sed 's/10$/nouveau/' *.info
La commande ne cherchera que les chaines 10 en fin de chaine, donc suivi d'un retour chariot.
Combinaison de critere :
sed '2 s/10$/nouveau/' *.info
Ici la chaine de caractere 10 situe en bout de chaine uniquement sur la 2nde ligne, sera remplace par la chaine "nouveau"
Attributs :
-i : le nouveau flux ecrasera l'ancien fichier : reecriture disque sur le meme fichier
sed -i 's/10$/1/' *.info
Exemple
1018592 10 RECIPIENT=COCO REPONSE_XML
execution de la commande sed sur l ensemble des fichiers *.info du repertoire en cours
sed -i 's/10$/nouveau/' *.info
le fichier sera de la sorte
1018592 nouveau RECIPIENT=COCO REPONSE_XML
echappement de caractere :
Le slash doit etre echappe par 2 anti slash
\\/
exemple :
sed -i 's/<\\/CustomsDataReference><\\/CustomsDataReference>/<\\/CustomsDataReference><\\/CustomsDataReferences>/' mytext.xml
../..