
Вот моя команда sed:
echo -e "AB\nCD\nEF\nGH" | sed 'N; D;'
Он печатает:
GH
при sed
обработке ввода построчно, что происходит с последней строкой? (Когда после этого sed
увидел End-Of-File)? Я имею в виду, что буфер шаблона содержит только 1 строку.
решение1
Он останавливает обработку. Изруководство по sed:
N
: Добавить новую строку в пространство шаблона, затем добавить следующую строку ввода в пространство шаблона. Если больше нет ввода, то sed выходит, не обрабатывая никаких дальнейших команд.
Таким образом, он никогда не доходит до D;
, и у вас остается только последний GH
.