2012-05-03 26 views
2

我想使用find命令在文件中查找一些字符串,并希望同时查看查找结果和匹配行数。如何输出shell查找结果和匹配号码?

例如,使用下面的命令,我可以得到查找结果,但我不知道我得到了多少匹配结果。

find . -name .history | xargs grep ls 

输出

ls -r 
ls -R 
ls 

我所期望的输出是这样

ls -r 
ls -R 
ls 
total match number: 3 

我怎样才能得到我期望的输出?

回答

2
.... | awk '{ a+=1; print} END { print "total match number: " a}' 
+0

为什么不使用NR? ... | 'awk'{print} END {print“总匹配号码:”NR}“' – dpp

+0

当然,这也可以。 –

1

另一种不AWK是:

| tee >(cat) >(wc -l) 

为了让你的输出和数量。如果你真的想要的文字也:

| tee >(cat) >(echo "total match number: "`wc -l`);