Posez votre question »

Sed - Substitution

Juillet 2015


Substitution



Substitution basique

Simple


- 1ère occurrence (de chaque ligne) rencontrée uniquement
sed 's/la/LA/' fichier.txt

Globale


- Toutes les occurrences (de chaque ligne) rencontrées
sed 's/la/LA/g' fichier.txt

Ciblée


- Seulement la 2ème occurrence (de chaque ligne) rencontrée
sed 's/la/LA/2' fichier.txt

Substitution conditionnée

Simplee


/Motif/ - Uniquement si la ligne contient "motif"
sed '/awk/ s/sed/SED/' fichier.txt

Numéro de ligne - Uniquement la ligne n° "N"
sed '18 s/sed/SED/' fichier.txt

/Regex/ - Uniquement s'il y a correspondance avec l'expression régulière
sed '/^[ ][Ss]ed/ s/ed/ED/g' fichier.txt

Avancée


0,/regex/ - Uniquement la 1ère occurrence rencontrée
sed '0,/sed/ s//SED/' fichier.txt

Bloc


/motif1/,/motif2/ - Uniquement dans l'intervalle "motif1 - motif2"
sed '/Début/,/Fin/ s/ed/ED/' fichier.txt # 1ère occurrence uniquement 
sed '/Début/,/Fin/ s/ed/ED/g' fichier.txt # toutes les occurrences

8,13 - Uniquement dans l'intervalle des lignes 8 à 13
sed '8,13 s/ed/ED/g' fichier.txt

On peut aussi combiner motif et ligne
sed '8,/Fin/ s/ed/ED/g' fichier.txt 
sed '/Début/,13 s/ed/ED/g' fichier.txt

Ou encore avec des "regex"
sed '/Début/,$ s/ed/ED/g' fichier.txt # jusqu'à la fin ($) 
sed '/^[ ][Ss]ed/,13 s/ed/ED/' fichier.txt

Avancée


Substituer tout un texte entre 2 motifs en excluant les motifs
sed  '/Début/,/Fin/{ /Début/b;/Fin/b; s/.*/SED - The Stream ÉDitor/; }' fichier.txt

----------------------------------------------------------------


Fichier de référence employé pour les exemples : à la fin de cet article

Pour une lecture illimitée hors ligne, vous avez la possibilité de télécharger gratuitement cet article au format PDF :
Sed-substitution.pdf

Réalisé sous la direction de , fondateur de CommentCaMarche.net.

A voir également

Dans la même catégorie

Publié par jipicy. - Dernière mise à jour par kilian
Ce document intitulé «  Sed - Substitution  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.