28 Punkte von xguru 2021-11-15 | 1 Kommentare | Auf WhatsApp teilen
  • Nur eine einzelne Zeile ausgeben

→ sed -n '10p' file.txt

  • Zeichenersetzung in allen Zeilen außer Zeile 5

→ sed '5!/s/foo/bar/' file.txt

  • Regex-Ersetzung in allen Zeilen, die mit einem bestimmten Zeichen beginnen

→ sed '/^hello/ s/h/H/' file.txt

  • Nur ab Zeile 5 bis zur letzten Zeile ersetzen

→ sed '5,$ s/foo/bar/' file.txt

  • Leere Zeilen löschen

→ sed '/^$/d' file

  • Alle Zeilen zwischen zwei Regexen ausgeben

→ sed -nE '/^foo/,/^bar/p' file.txt

  • Benutzerdefinierten Trenner verwenden, um Zeichen mit Slash einfacher zu finden

→ sed 's_/bin/bash_/bin/sh_' file.txt

  • Durch Leerzeichen getrennte doppelte Strings entfernen (dreifache Duplikate ausgenommen)

→ sed -E 's_([a-zA-Z0-9_]+) \1_\1_ig' f1

  • Ein bestimmtes Muster suchen, ersetzen und nur die geänderten Zeilen in einer anderen Datei speichern

→ sed 's_foo_bar_w replaced.txt' file.txt

  • Mehrere Ersetzungen gleichzeitig ausführen

→ sed -e 's_foo_bar_' -e 's_hello_HELLO_' file.txt

  • Alle Kommentare zwischen zwei Keywords entfernen und eine Leerzeile einfügen

→ sed -E '/start/,/end/ s/#.*//' file.txt

  • Alle Kommentare löschen, die mit # beginnen

→ sed -E '/^#/d' f1

  • Nur bis zum Auftreten eines bestimmten Musters ausgeben

→ sed '/start/q' file.txt

  • Nach einer bestimmten Zeile eine Datei einfügen

→ sed '5 r newfile.txt' file.txt

  • Text nach der Zeile mit passendem Regex-Muster hinzufügen

→ sed '/foo/a\AFTER FOO' file.txt

  • Eine Zeile mit passendem Regex-Muster ersetzen

→ sed '/foo/c\FOO IS CHANGED' file.txt

  • Alle Kommentare, die mit # beginnen, in einer anderen Datei speichern

→ sed -E '/^#/w comments.txt' file.txt

  • Jede zweite Zeile ausgeben (auch auf 3/4 usw. änderbar)

→ sed -n '1~2p' file.txt

  • Datei direkt bearbeiten und dabei ein Backup erstellen

→ sed -i.bak 's/hello/HELLO/' file.txt

  • Nach einem Regex-Treffer zwei Leerzeilen hinzufügen

→ sed -E '/^#/G G' file.txt

1 Kommentare

 
tribela 2021-11-15

Dass man auch andere Zeichen als den Schrägstrich als Trennzeichen verwenden kann, ist wirklich ein unverzichtbarer Tipp.

Gerade beim Ändern von URLs für apt-Repos kommt es ziemlich oft vor, dass man mit Schrägstrichen zu tun hat.