2

特定のユーザーが所有するすべてのファイルのサイズを (再帰的に) 合計したいと考えています。ただし、すべてのディレクトリの巨大なリストは必要ありません。全体のサイズだけです。

したがって、この回答の解決策は次のようになります。

find . -user BobTheCat -type d -exec du -hs {} \;

変更する必要がありますが、どのように?

awk のような後処理で可能であることは知っていますが、これはもっと簡単にできると思います。

4

2 に答える 2

3

findが付属している場合は-printf、それを使用してください。例えば:

$ find . -user BobTheCat -type f -printf '%s\n' | awk '{bytes+=$0}END{print bytes}'
于 2014-08-19T12:02:06.517 に答える
1

これを試して:

find . -user BobTheCat -type d -exec du -shc {} + -prune | egrep '^total\b'

は、ディレクトリへの再帰を-prune防止します。これは、すでにそれを行っているためであり、各サブディレクトリを複数回カウントすることになります。finddu -s

最後に総計を印刷するように指示し、その行だけを印刷する-cオプション。dutail -1

BobTheCatが所有しているが、彼が所有するディレクトリにないファイルを含めたい場合は、から削除-type dfindます。

于 2014-08-19T11:43:39.913 に答える