我如何'grep -c'并避免打印零'0'计数的文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我如何'grep -c'并避免打印零'0'计数的文件相关的知识,希望对你有一定的参考价值。
命令'grep -c blah *'列出了所有文件,如下所示。
% grep -c jill *
file1:1
file2:0
file3:0
file4:0
file5:0
file6:1
%
我想要的是:
% grep -c jill * | grep -v ':0'
file1:1
file6:1
%
而不是像上面那样管道和grep输出输出,是否有一个标志来禁止列出0计数的文件?
SJ
答案
只需使用awk。例如使用GNU awk for ENDFILE
:
awk '/jill/{c++} ENDFILE{if (c) print FILENAME":"c; c=0}' *
另一答案
How to grep nonzero counts:
grep -rIcH 'string' . | grep -v ':0$'
-r
Recurse子目录。-I
忽略二进制文件(感谢@tongpu,术士)。-c
显示比赛的数量。令人讨厌的是,包括0计数文件。-H
显示文件名,即使只有一个文件(感谢@CraigEstey)。'string'
你的字符串就在这里。.
从当前目录开始。| grep -v ':0$'
删除0计数文件。 (感谢@LaurentiuRoescu)
(我意识到OP不包括管道技巧,但这对我有用。)
以上是关于我如何'grep -c'并避免打印零'0'计数的文件的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Linux 中 grep '---'? grep:无法识别的选项'---'