Kleines sed-Tutorial
sed [option] .. 'sed-Komando' [parameter]
sed-Komando baut sich dabei wie folgt auf: [von[,bis]sed-Befehl [Parameter]]
sed-Komando | Erläuterung |
---|---|
2d | 2. Zeile löschen |
2,4d | 2. und 4. Zeile löschen |
/2/,/4/d | Löscht die erste Zeile, die eine 2 enthält, bis zur ersten Zeile, die eine 4 enthält |
/case/,/esac/d | löscht alle Zeilen von case bis esac (also alle Case-Abfragen) |
p | print (sed -n) |
4a\text | an die 4. Zeile wird text anghangen |
4i\text | text wird vor die 4. Zeile eingefügt |
4c\text | 4. Zeile wird ersetzt durch text |
2r <Datei> | nach 2. Zeile wird <Datei> eingefügt |
= | gibt die aktuelle Zeilennummer aus |
1,4w <Datei> | Zeile 1-4 wird in <Datei> geschrieben |
h | Zeile wird in Zwischenpuffer geladen |
g | Zeile wird aus Zwischenpuffer gelesen |
1,3s/<Text1>/<Text2> | in der 1. - 3. Zeile wird Text 1 durch Text2 ersetzt |
Snippets
- Text (abc) am Ende eins Strings einfügen
sed -i 's/$/abc/g' $file
- Text (abc) am Anfange eines Strings einfügen
sed -i 's/^/abc/g' $file
- Text vor einem Suchmuster einfügen
sed -i 's/^exit/\/usr\/local\/bin\/shutdownbutton.py \&\n\n&/' /etc/rc.local
- Leerzeilen entfernen
sed -e '/^\s*$/d' -i $file
Diskussion