我正在尝试找到以“of”开头的文件夹并获取其文件夹大小

时间:2014-11-18 10:49:39

标签: find size du

奇怪的是,这个命令在2个SLES11服务器上完美运行,但不是另一个。这是我的命令......

du `find -maxdepth 7 -type d -name of\*` -hs

我得到的结果就像......

du: invalid option -- 'I'
du: invalid option -- 'n'
du: invalid option -- 't'
du: invalid option -- 'e'
du: invalid option -- 'r'
du: invalid option -- 'v'
du: invalid option -- 'i'
du: invalid option -- 'e'
du: invalid option -- 'w'
du: invalid option -- '/'
du: invalid option -- 'o'
du: invalid option -- 'f'
du: invalid option -- 'd'
du: invalid option -- 'j'
du: invalid option -- 'r'
du: invalid option -- 'I'
du: invalid option -- 'n'

这是来自同一个服务器的结果......

du `find -maxdepth 7 -type d -name of\*` -hs
200K    ./xxxxxxxxx/xxxxxxx/xxxxxxx/of19darc
6.4G    ./xxxxxxxxx/xxxxxxx/xxxxxxx/ofkuoarc
188K    ./xxxxxxxxx/xxxxxxx/xxxxxxx/ofkuoarc/ofkuoarc
180K    ./xxxxxxxxx/xxxxxxx/xxxxxxx//data/Archive/ofw68arc
du: cannot access `yyy/Cyyyyy/GW': No such file or directory
du: cannot access `Archive/of19darc': No such file or directory

etc

2 个答案:

答案 0 :(得分:1)

du `find -maxdepth 7 -type d -name of\*` -hs

对于包含空格的任何文件都会失败,并会尝试将以-开头的文件(或空格后的-)视为du的选项。

尝试类似

的内容
find -maxdepth 7 -type d -name of\* -exec du -hs -- {} \;

或者find支持它(更快)

find -maxdepth 7 -type d -name of\* -exec du -hs -- {} +

答案 1 :(得分:0)

使用此:

du -h $(find . -type d -name 'of*')