SED - Substitutie

  • Basisvervanging
    • Eenvoudig
    • Globaal
    • gerichte
  • Geconditioneerde vervanging
    • Vereenvoudigd
    • gevorderd
  • Blok
    • Geavanceerd gebruik

Het vervangende commando: [s. ] wijzigt alle exemplaren van de reguliere expressie in een nieuwe waarde.

Basisvervanging

Eenvoudig

1e wedstrijd (elke regel) alleen aangetroffen

sed 's / la / LA /' file.txt

Globaal

Alle occurrences (elke regel) aangetroffen

sed 's / la / LA / g' file.txt

gerichte

Alleen de 2e keer voorkomen (elke regel)

 sed 's / la / LA / 2' file.txt 

Geconditioneerde vervanging

Vereenvoudigd

/ explanation / - Alleen als de regel "uitleg" bevat

 sed '/ awk / s / sed / SED /' file.txt 

Aantal regels - Alleen regel nee "N"

 sed '18 s / sed / SED / 'file.txt 

/ Regex / - Alleen als er correspondentie is met de reguliere expressie

 sed '/ ^ [] [Ss] ed / s / ed / ED / g' file.txt 

gevorderd

0, / regex / - Alleen de 1e casus gevonden

 sed '0, / sed / s // SED /' file.txt 

Blok

/ explanation1 /, / explanation2 / - Alleen tussen "explanation1 - explanation2"

 sed '/ start /, / Einde / s / ed / ED /' file.txt # Alleen het 1e geval gevonden 

 sed '/ Start /, / Einde / s / ed / ED / g' file.txt # alle gevallen 

8, 13 - Alleen tussen regel 8 en 13

 sed '8, 13 s / ed / ED / g' file.txt 

We kunnen ook reden en lijn combineren

 sed '8, / End / s / ed / ED / g' file.txt sed '/ Start /, 13 s / ed / ED / g' file.txt 

Of met "regex"

 sed '/ Start /, $ s / ed / ED / g' file.txt # tot het einde ($) sed '/ ^ [] [Ss] ed /, 13 s / ed / ED /' file.txt 

Geavanceerd gebruik

Vervang elke tekst tussen 2 gronden met uitzondering van gronden

 sed '/ Start /, / End / {/ Start / b; / End / b; s /.*/ SED - The Stream à ‰ Ditor /; } 'file.txt 
Vorige Artikel Volgende Artikel

Top Tips