grep,上限为搜索模式的中间位置

时间:2013-11-20 05:48:46

标签: linux shell terminal grep

我正在搜索出现foo和其中一个数字5,6或7的行,但我只想要它们(foo和其中一个提到的数字)彼此相距不超过20个字符的行。到目前为止,我提出的最接近但无济于事的是:

grep -rniE "foo(.*){0,20}[567]" .

我的格局出现了一些基本错误,我敢肯定,但我现在看不到它。

1 个答案:

答案 0 :(得分:4)

问题在于:

(.*)

*贪婪。您希望匹配任何字符的零到二十个实例。说:

grep -rniE 'foo(.){0,20}[567]' .