SED - Substitution
- Substitution de base
- Simple
- Global
- Ciblé
- Substitution conditionnée
- Simplifié
- Avancée
- Bloc
- Utilisation avancée
La commande de substitution: [s. ] modifie toutes les occurrences de l'expression régulière en une nouvelle valeur.
Substitution de base
Simple
1er match (chaque ligne) rencontré seulement
sed 's / la / LA /' fichier.txt
Global
Toutes les occurrences (chaque ligne) rencontrées
sed 's / la / LA / g' fichier.txt
Ciblé
Seule la 2ème occurrence (chaque ligne) rencontrée
sed 's / la / LA / 2' fichier.txt
Substitution conditionnée
Simplifié
/ explication / - Uniquement si la ligne contient "explication"
sed '/ awk / s / sed / SED /' fichier.txt
Nombre de lignes - ligne uniquement "N"
sed '18 s / sed / SED / 'fichier.txt
/ Regex / - Uniquement s'il existe une correspondance avec l'expression régulière
sed '/ ^ [] [Ss] ed / s / ed / ED / g' fichier.txt
Avancée
0, / regex / - Seul le 1er cas trouvé
sed '0, / sed / s // SED /' fichier.txt
Bloc
/ Explication1 /, / Explication2 / - Seulement entre "explication1 - Explication2"
sed '/ start /, / End / s / ed / ED /' fichier.txt # Seul le 1er cas trouvé
sed '/ Début /, / Fin / s / ed / ED / g' fichier.txt # tous les cas
8, 13 - Uniquement entre les lignes 8 à 13
sed '8, 13 s / ed / ED / g' fichier.txt
On peut aussi combiner raison et ligne
sed '8, / Fin / s / ed / ED / g' fichier.txt sed '/ Début /, 13 s / ed / ED / g' fichier.txt
Ou avec "regex"
sed '/ Début /, $ s / ed / ED / g' fichier.txt # jusqu'à la fin ($) sed '/ ^ [] [Ss] ed /, 13 s / ed / ED /' fichier.txt
Utilisation avancée
Remplacer tout texte entre 2 motifs, motifs non compris
sed '/ Start /, / End / {/ Start / b; / End / b; s /.*/ SED - The Stream à Ditor /; } 'fichier.txt