我正在使用'pcregrep'在UNIX中实现多行搜索。我希望匹配在第一次出现时停止。
e.g。如果我在文件中有下面的文字:
mynameishin
hahahain
internetin
fdhsufsdhuiain
djbssdvbsbsduiain
sduigsyubsuvasdyivsyifvasin
我要打印到'name'之后'ain'的第一次出现。所以我只需要打印:
mynameishin
hahahain
我正在执行:
pcregrep -M 'name.*ain' *.txt
但是我得到的输出为:
mynameishin
hahahain
internetin
fdhsufsdhuiain
djbssdvbsbsduiain
答案 0 :(得分:5)
pcregrep -M 'name.*?ain' *.txt
让它变得非贪婪!!!!!!!!!!! .*
是贪婪的。它将全部消耗掉并停在最后。