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