Поиск по номерам строк в GNU Ed

Похоже, вы должны поместитьWants=shared.service(илиRequires=shared.serviceBefore=shared.serviceв a.service и b.service.

2
03.09.2021, 23:43
1 ответ

Вы можете использовать =для вывода номера строки в буфере редактирования. Для поиска с некоторым выражением REи вывода номера строки первого совпадения используйте

/RE/ =

Команда nвыводит текущую строку с префиксом ее номера строки. Также возможно применение его к какой-либо другой строке или диапазону строк :

.
/RE/ n

Чтобы получить номера всех совпадающих строк, объедините =или nс командой g. Обратите внимание, однако, что, поскольку адресом по умолчанию команды =является последняя строка буфера редактирования, а не текущая строка, использование =приведет к неправильному результату с g, если мы явно не укажем адрес ... Так что используйте

g/RE/.=

, чтобы получить только номера всех строк, соответствующих RE.

Используйте

g/RE/ n

для вывода всех строк, соответствующих RE, вместе с их номерами строк (, аналогично grep -n 'RE', хотя и в другом формате ).

2
05.09.2021, 06:49

Теги

Похожие вопросы