SED - Substitution

  • Grundlegende Substitution
    • Einfach
    • Global
    • Gezielt
  • Bedingte Substitution
    • Vereinfacht
    • Fortgeschritten
  • Block
    • Fortgeschrittene Verwendung

Der Ersatzbefehl: [s. ] ändert alle Vorkommen des regulären Ausdrucks in einen neuen Wert.

Grundlegende Substitution

Einfach

Nur die erste Übereinstimmung (jede Zeile) ist aufgetreten

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

Global

Alle Vorkommen (jede Zeile) angetroffen

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

Gezielt

Nur das 2. Vorkommen (jede Zeile) angetroffen

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

Bedingte Substitution

Vereinfacht

/ Erklärung / - Nur wenn die Zeile "Erklärung" enthält

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

Zeilennummer - Nur Zeilennummer "N"

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

/ Regex / - Nur bei Übereinstimmung mit dem regulären Ausdruck

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

Fortgeschritten

0, / regex / - Nur der 1. Fall gefunden

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

Block

/ erklärung1 /, / erklärung2 / - Nur zwischen "erklärung1 - erklärung2"

 sed '/ start /, / End / s / ed / ED /' file.txt # Nur der erste gefundene Fall 

 sed '/ Start /, / End / s / ed / ED / g' file.txt # all case 

8, 13 - Nur zwischen den Zeilen 8 bis 13

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

Wir können auch Vernunft und Linie kombinieren

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

Oder mit "Regex"

 sed '/ Start /, $ s / ed / ED / g' file.txt # bis zum Ende ($) sed '/ ^ [] [Ss] ed /, 13 s / ed / ED /' file.txt 

Fortgeschrittene Verwendung

Ersetzen Sie jeden Text zwischen 2 Begründungen ohne Begründung

 sed '/ Start /, / End / {/ Start / b; / End / b; s /.*/ SED - The Stream à Ditor /; } 'file.txt 
Vorherige Artikel Nächster Artikel

Top-Tipps