今天我在使用“find”命令。这在使用上有点令人困惑。Linux命令find usage confuse
问题:我想要统计主目录下有多少个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
的原因是什么,任何一个有一些想法?
感谢,
我其实并不理解你使用ls的目的。 – tink 2013-03-14 00:14:19
'find'命令不读取其标准输入;把任何东西都给管道是没有意义的。您还需要在命令名称“find”和动作参数(如'-name'* .gz'')之间提供目录名称(或多个名称)。 – 2013-03-14 00:14:21
您不能将名称传送到'find',它不会读取其标准输入。如果你没有在命令行上给它一个起始目录,它将从当前目录开始。 – Barmar 2013-03-14 00:14:22