Sed/Nächste Zeile beabeiten
Nächste Zeile beabeiten[n]
Soll erst die dem Suchmuster folgende Zeile manipuliert werden, ist das n-Kommando der beste Kandidat:
sed -n '8,${n;s/\(.\{1,\}\)/*\1/p;}' test.txt * 9 Keine Angabe Alle Zeilen *11 $ Symbolisiert die letzte Zeile *13 RegEx Zeilen, die den Regulären Ausdruck enthalten
Die Kommandozeile ist schwer verdaulich...
- aber der Reihe nach:
»-n« | als Kommandozeilenoption besagt, dass die Ausgabe einzig die bearbeiteten Zeilen betreffen soll. |
---|---|
Da jedoch das Flag »s« | sämtliche Ausgaben »verschluckt«, muss »p« am Ende bemüht werden. |
»8,$« | adressiert die Zeilen 8 bis zum Ende der Datei.
|
»n« | als Substitutionskommando bewirkt, dass die nächste Zeile bearbeitet wird - Zeile 9.
|
».\{1,\}« | meint »mindestens ein (\{1,\}) beliebiges (.) Zeichen. |
Da jede Zeile im Beispiel zumindest die Zeilenummer umfasst und das komplette Muster mit »\(...\)« gespeichert wird, erscheint die gesamte Zeile mit vorangestelltem Stern (*\1) in der Ausgabe... | |
Sed fährt mit der folgenden Zeile (10) fort, die (wegen Flag »n«) übersprungen wird. |