Rah*_*hul 6 grep text-processing
假设有文件
foo bar cat dog
foo foo cat bar
bar foo foo foo
Run Code Online (Sandbox Code Playgroud)
我们如何 grep 出现特定次数的行,foo
例如,如果数字为1,则仅应打印示例文件中的第一行?
$ grep 'foo' file | grep -v 'foo.*foo'
Run Code Online (Sandbox Code Playgroud)
首先挑出所有包含 的行foo
,然后删除所有行,foo
然后是foo
该行某处的另一个。
如果所有行都包含至少一个foo
(如您的示例),您可以跳过第一个grep
.
对于“我如何grep
恰好出现N次字符串?”的一般解决方案: grep
对于至少有N 个匹配项的行,然后删除具有N+1 个匹配项(或更多)的行。