今天我在使用「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