Sed - Substitution

Dernière mise à jour le 22 juin 2007 à 10:41 par jipicy
Publié par jipicy

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éé


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
Meilleures réponses pour « Sed Substitution » dans :
Sed - Introduction à SED - Part III Voir SED - The Stream EDitor - Part III Ce document est une introduction à la pratique et à l'utilisation de l'éditeur de flux "SED", qui essaie de couvrir certaines fonctionnalités assez méconnues, pour ne pas dire "quasi inconnues", qui font de "SED"...
Sed - Introduction à SED - Part II VoirSED - The Stream EDitor - Part II Ce document est une introduction à la pratique et à l'utilisation de l'éditeur de flux "SED", qui essaie de couvrir certaines fonctionnalités assez méconnues, pour ne pas dire "quasi inconnues", qui font de "SED"...
Sed - Supprimer une ou plusieurs lignes d'un fichier VoirSupprimer une (ou plusieurs) ligne(s) d'un fichier Syntaxe sed '{[/]||[/]}d' sed '{[/][,][/]d' /.../ = délimiteurs n = le numéro de ligne chaîne = la chaîne contenue dans la...
Sed - Trucs et astuces VoirSubstitution Affichage Suppression Espace et tabulation Ligne vide Intervalle régulier Divers Joindre des lignes Affichage insensible à la casse Substitution Substituer "foo" par "bar" à chaque ligne Seulement la 1ère...
Chiffrement par substitution VoirLe chiffrement par substitution Le chiffrement par substitution consiste à remplacer dans un message une ou plusieurs entités (généralement des lettres) par une ou plusieurs autres entités. On distingue généralement plusieurs types de...