1

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

例如,如果我在文件中有以下文本:

mynameishin
hahahain
internetin
fdhsufsdhuiain
djbssdvbsbsduiain
sduigsyubsuvasdyivsyifvasin

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

mynameishin
hahahain

我正在执行:

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

但是我得到的输出为:

mynameishin
hahahain
internetin
fdhsufsdhuiain
djbssdvbsbsduiain
4

1 回答 1

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

让它不贪心!!!!!!!!!!!!.*是贪婪的。它会消耗所有东西并最终停止。

于 2014-10-09T15:20:44.117 回答