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
Kategorie(n): Shell, Syntax

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

 

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.