Sed/Nächste Zeile beabeiten
Erscheinungsbild
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. |