Was passiert mit der letzten Zeile, wenn der Befehl N mit sed verwendet wird?

Was passiert mit der letzten Zeile, wenn der Befehl N mit sed verwendet wird?

Hier ist mein Sed-Befehl:

echo -e "AB\nCD\nEF\nGH" | sed 'N; D;'

Es druckt:

GH

Was passiert mit der letzten Zeile, wenn seddie Eingabe zeilenweise verarbeitet wird? (Wann wird danach das sedDateiende 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.

verwandte Informationen