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. |