2015-01-15 92 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