奇怪的是,这个命令在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
答案 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*')