Sed Syntax Beispiele

Beispiele:

sed -n ‚/Muster/p‘ <File> Ausgabe aller Zeilen, die „Muster“ enthalten
sed -n ‚/Muster/,/^$/p‘ <File> Zeilenausgabe ab „Muster“ bis zur nächsten Leerzeile
sed ‚/Muster/d‘ <File> Löschen aller Zeilen, die „Muster“ enthalten
sed ’s/Muster/Ersatz/‘ <File> Löschen oder Ersetzen von Mustern
sed -i ’s/Muster/Ersatz/‘ <File> <File> wird überschrieben
sed ’s/abc/def/;s/ghi//;s/jkl//‘ <File> mehrere Kommandos

Kommandos:

s/old.*/new/ löscht alle Zeichen je Zeile ab „old“ und fügt dafür „new“ ein
s/.*old/new/ löscht alle Zeichen je Zeile bis „old“ und fügt dafür „new“ ein
s/e// löscht das erste „e“ jeder Zeile
s/e//g löscht alle „e“ jeder Zeile
s/ */ /g ersetzt alle mehrfachen Leerzeichen durch ein einzelnes
s/^[[:space:]]*// löscht alle Leerzeichen und Tabulatoren zu Beginn einer Zeile
10,$s/… ab 10. Zeile bis Fileende
/old/d löscht alle Zeilen die „old“ enthalten
/old/!d löscht alle Zeilen die kein „old“ enthalten
/^old/… alle Zeilen mit „old“ am Anfang
/old$/… alle Zeilen mit „old“ am Ende
s/ab.*xy/abxy/ löscht alle Zeichen zwischen „ab“ und „xy“
s/ab *xy/abxy/ löscht alle Leerzeichen zwischen „ab“ und „xy“
s/ab.*xy// löscht alle Zeichen zwischen „ab“ und „xy“ einschließlich „ab“ und „xy“
s/.*,// löscht alle Zeichen bis zum Komma einschließlich Komma
s/.*\.// löscht alle Zeichen bis zum Punkt einschließlich Punkt (Schrägstrich vor Punkt, da Sonderzeichen)
s/^[0123456789]*// löscht alle Zahlen
s/^[^0-9]*// löscht alle Zeichen außer Zahlen
s/.*/&<br>/ fügt an alle Zeilen HTML-Zeilenumbrüche an („&“ steht für den String der mit „/.*/“ separiert wird)
s/}/&\n/g fügt Zeilenumbrüche nach jeder schließenden geschweiften Klammer „}“ ein
/start/,/stop/ alle Zeilen zwischen „start“ und „stop“
g/^\.EQ/+,/^\.EN/-p (?) alle Zeilen zwischen den Zeilen, die mit „.EQ“ und „.EN“ beginnen
s/\(.*to\) \(the.*\)/\2 \1/ Vertauschen von Strings beginnend mit „to“ und „the“ („.*to“ =1 und „the.*“ =2)

Weiteres:

tr -d ‚\n‘ alle Zeilenumbrüche entfernen (ist mit sed deutlich komplizierter)
tr ‚\n‘ ‚ ‚ alle Zeilenumbrüche durch Leerzeichen ersetzen
grep -v ^$ löscht alle Leerzeilen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Back To Top