Остановка совпадения 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 будет потреблять все и останавливаться в конце.