1

奇妙なことに、このコマンドは 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
4

2 に答える 2

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 -- {} +
于 2014-11-18T11:30:24.793 に答える