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 
Article Précédent Article Suivant

Les Meilleurs Conseils