
Hier ist mein Sed-Befehl:
echo -e "AB\nCD\nEF\nGH" | sed 'N; D;'
Es druckt:
GH
Was passiert mit der letzten Zeile, wenn sed
die Eingabe zeilenweise verarbeitet wird? (Wann wird danach das sed
Dateiende angezeigt?)? Ich meine, der Musterpuffer enthält nur 1 Zeile.
Antwort1
Es stoppt die Verarbeitung. Von dersed-Handbuch:
N
: Fügen Sie dem Musterbereich eine neue Zeile hinzu und hängen Sie dann die nächste Eingabezeile an den Musterbereich an. Wenn keine weitere Eingabe vorhanden ist, wird sed beendet, ohne weitere Befehle zu verarbeiten.
Es kommt also nie zum D;
und Ihnen bleibt nur das letzte übrig GH
.