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

时间:2014-10-09 15:19:20

标签: regex pcregrep

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

e.g。如果我在文件中有下面的文字:

mynameishin
hahahain
internetin
fdhsufsdhuiain
djbssdvbsbsduiain
sduigsyubsuvasdyivsyifvasin

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

mynameishin
hahahain

我正在执行:

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

但是我得到的输出为:

mynameishin
hahahain
internetin
fdhsufsdhuiain
djbssdvbsbsduiain

1 个答案:

答案 0 :(得分:5)

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

让它变得非贪婪!!!!!!!!!!! .*是贪婪的。它将全部消耗掉并停在最后。