Я знаю, что могу найти совпадения регулярных выражений, используя egrep .

Моя потребность немного более эзотерична:

Мне нужно перечислить все совпадения регулярных выражений, по одному на строку вывода.

Итак, предположим, что файл содержит следующее:

This is just some sample 1text to illustrate the 2text seeker I had in mind.
As you can see in this 3text, I have many 4text matches, more than one 5text match per line of 6text.

С регулярным выражением /[0-9]+text /я хочу, чтобы вывод был:

1text
2text
3text
4text
5text
6text

Если не считать, что программа для этого достаточно, можно ли как-нибудь сгенерировать желаемый результат с помощью стандартных команд?

1 ответ1

1

egrep -o '[0-9]+text' filename

Со страницы руководства egrep:

-o, --only-matching

Печатайте только совпадающие (непустые) части совпадающей строки, причем каждая такая часть находится на отдельной выходной строке.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .