Sed: руководство: различия между версиями

Содержимое удалено Содержимое добавлено
Строка 1078:
<--END
</source>
Главной частью здесь является <code>/./{H;$!d} ; x ;...</code>. Первая команда захватывает не пустые строки до первой пустой. Такой захват происходит из-за <code>$!d</code>, потому что команда <code>d</code> прерывает исполнение обработки текущей строки и начинает новый цикл (Sed переходит на следующую строку и начинает микропрограмму заново), т.е. переход на следующую команду <code>x</code> не произойдет до тех пор, пока Sed не упрется в пустую строку (когда <code>d</code> не исполнится). Когда Sed упирается в пустую строку или конец потока, происходит переход на команду <code>x</code>, которыйкоторая меняет содержимое буферов местами, и мы работаем с накопленной строкой, как с одной большой строкой. В данном примере мы пометили начало и конец этой строки, чтобы показать, что абзацы захватываются целиком.
 
=== Продвинутые средства адресации в GNU Sed ===