2015-01-15 117 views
1

我試圖讓文件夾的大小「fo o1.bar fo o2.bar ...」 我嘗試了很多複雜的事情,但從來沒有找到辦法做到這一點,atm我試圖:如何用bash獲取fo o.bar名稱的文件夾大小?

find /my/folder -maxdepth 1 -name *bar -type d -exec du -ch '{}' \; 

但我發現了:

12G /my/folder/fo O1.bar 
12G /my/folder/fo O1.bar/subdirectoy 
43G /my/folder/fo O2.bar 

我不想讓子目錄的大小,我試圖與-maxdepth 0,但隨後的命令沒有給出結果。

我想獲得:

12G /my/folder/fo O1.bar 
43G /my/folder/fo O2.bar 

甚至只是理想:

12G fo-O1.bar 
43G fo-O2.bar 

感謝您閱讀我。

回答

0

您可以使用-s標誌du命令:

man du
find /my/folder -maxdepth 1 -name '*.bar' -type d -exec du -sh '{}' \; 

由於:

-s, --summarize 
      display only a total for each argument 
+0

這是這麼簡單嗎?我確信我錯過了一些東西。非常感謝你的好友! – Bug8 2015-01-15 18:58:59

+0

不客氣,很高興幫助。 – anubhava 2015-01-15 19:00:30