我如何显示确认结果和发生次数

ack foo * 

返回行列表:

 bar.txt 28: this is foo stuff dump.txt 12: results of foo gobs.txt 1137: more lines with foo 

 ack -c -l 

回报

 3 

我的问题是,我怎么能显示两个? 我想要像第一个例子中的行列表第二个例子中匹配的行数。

您可以使用

ack -hc-h--no-filename简写)得到总数。

根据ack文档/手册页 :

-c,–count

抑制正常输出; 而是为每个输入文件打印一个匹配行数。 如果-l有效,它将只显示每行有匹配行的文件的行数。 没有-l ,一些行数可能是零。

如果与-h (– --no-filename )结合, ack只输出一个总数。

这是对我有用(扩展@乔丹的答案) –

ack 'pattern' && ack -hc 'pattern'

或者更好(IMO):

ack 'pattern'; ack -hc 'pattern'

据我所知,使用&& ,第二个命令依赖于第一个返回运行; 使用; 相反,不管是一个接一个地运行它们。 在这种情况下,我认为; 是比较合适的。

在一个命令中无法输出你想要的东西。 得到你想要的最简单的方法是用&&将两个命令链接在一起。