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//glöscht alle „e“ jeder Zeile
s/ */ /gersetzt 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/dlöscht alle Zeilen die „old“ enthalten
/old/!dlö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/gfü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