命令'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
答案 0 :(得分:0)
只需使用awk。例如使用awk '/jill/{c++} ENDFILE{if (c) print FILENAME":"c; c=0}' *
的GNU awk:
from operator import itemgetter
for key, freq in sorted(freq_table_raw.items(), key=itemgetter(1)):
print key, freq
答案 1 :(得分:0)
grep -rIcH 'string' . | grep -v ':0$'
-r
递归子目录。-I
忽略二进制文件(感谢@tongpu,术士)。-c
显示匹配计数。令人讨厌的是,它包含0个文件。-H
显示文件名,即使只有一个文件(感谢@CraigEstey)。'string'
您的字符串在这里。.
从当前目录开始。| grep -v ':0$'
删除0个文件。 (感谢@LaurentiuRoescu) (我知道OP排除了管道技巧,但这对我有用。)