Sed/Nächste Zeile beabeiten: Unterschied zwischen den Versionen
Erscheinungsbild
K Textersetzung - „»“ durch „''“ |
K Textersetzung - „«“ durch „''“ |
||
Zeile 11: | Zeile 11: | ||
{|class="wikitable" | {|class="wikitable" | ||
|- | |- | ||
! | ''- | ! | ''-n'' | ||
! | als Kommandozeilenoption besagt, dass die Ausgabe einzig die bearbeiteten Zeilen betreffen soll. | ! | als Kommandozeilenoption besagt, dass die Ausgabe einzig die bearbeiteten Zeilen betreffen soll. | ||
|- | |- | ||
| | '''Da jedoch das Flag '' | | | '''Da jedoch das Flag ''s'' ''' | ||
| | sämtliche Ausgaben '' | | | sämtliche Ausgaben ''verschluckt'', muss ''p'' am Ende bemüht werden. | ||
|- | |- | ||
| | '''''8,$ | | | '''''8,$'' ''' | ||
| | adressiert die Zeilen 8 bis zum Ende der Datei. | | | adressiert die Zeilen 8 bis zum Ende der Datei. | ||
* Die erste Zeile, die also gefunden wurde, ist die 8. | * Die erste Zeile, die also gefunden wurde, ist die 8. | ||
|- | |- | ||
| | ''''' | | | '''''n'' ''' | ||
| | als Substitutionskommando bewirkt, dass die nächste Zeile bearbeitet wird - Zeile 9. | | | als Substitutionskommando bewirkt, dass die nächste Zeile bearbeitet wird - Zeile 9. | ||
* Diese 9. | * Diese 9. | ||
* Zeile wird nun substituiert. | * Zeile wird nun substituiert. | ||
|- | |- | ||
| | '''''.\{1,\} | | | '''''.\{1,\}'' ''' | ||
| | meint ''mindestens ein (\{1,\}) beliebiges (.) Zeichen. | | | meint ''mindestens ein (\{1,\}) beliebiges (.) Zeichen. | ||
|- | |- | ||
| | | | | | ||
| | Da jede Zeile im Beispiel zumindest die Zeilenummer umfasst und das komplette Muster mit ''\(...\) | | | 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 '' | | | Sed fährt mit der folgenden Zeile (10) fort, die (wegen Flag ''n'') übersprungen wird. | ||
|- | |- | ||
|} | |} |
Aktuelle Version vom 31. März 2025, 12:15 Uhr
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. |