pcregrep匹配在第一次出现时停止

sac*_*406 2 regex pcregrep

我正在使用'pcregrep'在UNIX中实现多行搜索.我希望匹配在第一次出现时停止.

例如,如果我在文件中有下面的文字:

mynameishin
hahahain
internetin
fdhsufsdhuiain
djbssdvbsbsduiain
sduigsyubsuvasdyivsyifvasin
Run Code Online (Sandbox Code Playgroud)

我想打印到'name'之后第一次出现'ain'.所以我只需要打印:

mynameishin
hahahain
Run Code Online (Sandbox Code Playgroud)

我正在执行:

pcregrep -M 'name.*ain' *.txt
Run Code Online (Sandbox Code Playgroud)

但是我得到的输出为:

mynameishin
hahahain
internetin
fdhsufsdhuiain
djbssdvbsbsduiain
Run Code Online (Sandbox Code Playgroud)

vks*_*vks 6

pcregrep -M 'name.*?ain' *.txt
Run Code Online (Sandbox Code Playgroud)

让它不贪婪!!!!!!!!!!! .*是贪婪的.它将消耗所有并在结束时停止.