标签: linux shell terminal grep
我正在搜索出现foo和其中一个数字5,6或7的行,但我只想要它们(foo和其中一个提到的数字)彼此相距不超过20个字符的行。到目前为止,我提出的最接近但无济于事的是:
grep -rniE "foo(.*){0,20}[567]" .
我的格局出现了一些基本错误,我敢肯定,但我现在看不到它。
答案 0 :(得分:4)
问题在于:
(.*)
*贪婪。您希望匹配任何字符的零到二十个实例。说:
*
grep -rniE 'foo(.){0,20}[567]' .