Остановка совпадения pcregrep при первом появлении

Я реализую многострочный поиск в UNIX, используя 'pcregrep'. Я хочу, чтобы сопоставление прекратилось при первом появлении.

например, если у меня есть текст ниже в файле:

mynameishin
hahahain
internetin
fdhsufsdhuiain
djbssdvbsbsduiain
sduigsyubsuvasdyivsyifvasin

Я хочу печатать до 1-го вхождения 'ain' после 'name'. Так что мне нужно распечатать только:

mynameishin
hahahain

Я выполняю:

pcregrep -M 'name.*ain' *.txt

Однако я получаю вывод как:

mynameishin
hahahain
internetin
fdhsufsdhuiain
djbssdvbsbsduiain

1 ответ

pcregrep -M 'name.*?ain' *.txt

Сделайте это не жадным!!!!!!!!!!!.* is greedy.it будет потреблять все и останавливаться в конце.

Другие вопросы по тегам