| Home Profil Fun |
#62 Linux 06.04.2009
Der Befehl sedGib Zeile 9 einer Datei aus. sed -n '9p' file1.txt Gib den Inhalt einer Datei aus ohne die Zeilen 1 bis 3. sed '1,3d' file2.txt Gib Zeile 1 und Zeile 3 einer Datei aus. sed -n -e '1p' -e '3p' file3.txt Gib den Inhalt von tesfile.txt aus, aber ändere die Ausgabe so ab, dass jede Zeile mit einem zusätzlichen "string1" beginnt. Wenn die Datei mit einem newline endet findet man am Ende der Datei entsprechend einen "zusätzlichen" String "string1". Man könnte hier ein $1 in dem Beispiel erwarten, aber dies funktioniert nicht, es muss \1 sein. Die Klammern müssen escaped werden, sodass es am Ende \(.*\) ist. sed 's/\(.*\)/string1\1/' ./testfile.txt sed gibt den Inhalt der Datei geändert nach stdout aus. Die Datei selbst bleibt unverändert, nur die Ausgabe wird manipuliert. Möchte man jedoch den Inhalt der Datei direkt ändern nimmt man -i und -e. Das Beispiel löscht Zeile 1 bis 3 der Datei. sed -i -e '1,3d' file1.txt Entferne alle Zeilen einer Datei, die Leerzeichen, Tabs oder newline enthalten. sed -i -e '/^\s*$/d' testfile.txt Entferne alle Zeilen einer Datei die mit # beginnen (Kommentarzeilen) sed -i -e '/^#.*$/d' testfile.txt Entferne alle Zeilen einer Datei, die mit # oder mit Einrückung gefolgt von # beginnen. sed -i -e '/^\s*#.*$/d' testfile.txt |