Linux命令发现使用混乱

时间:2013-03-14 00:10:03

标签: linux bash find

今天当我使用“find”命令时。它的用法有点令人困惑。

问题:我想计算主目录下有多少个gz文件。但是,主目录也有子目录。例如/ mainDir / Dir1 / 1 / / mainDir / Dir2 / 1/2012。在每个子文件夹下,有几个gz文件。

我使用命令1,它工作正常。

首先我去主目录:

ls -R . | find -name "*.gz" | wc -l

但是,如果我使用命令2,则返回0:

ls -R /home/user1/data1/2012/mainDir | find -name "*.gz" | wc -l

是什么原因,任何人都有所了解?

感谢,

2 个答案:

答案 0 :(得分:4)

您不需要ls。只需find . -name '*.gz' | wc -lfind /home/user1/data1/2012/mainDir -name '*.gz' | wc -l。在连字符选项(如find)之前的-name命令中的单词是要搜索的目录的名称。

答案 1 :(得分:0)

这个怎么样:

 find /home/user1/data1/2012/mainDir -name "*.gz" | wc -l

这符合标准查找语法,可以满足您的需求。