「Du」コマンドはすべてのファイルをリストしません

「Du」コマンドはすべてのファイルをリストしません

du -hとで異なる数のファイルを受け取りますfind:

loom@loom-desktop$ du -h ~/storage/Apps/*/trunk/test/*.cpp | wc -l
35
loom@loom-desktop$ find ~/storage/Apps/ -path */trunk/test/*.cpp | wc -l
111

不一致の理由は何ですか? また、指定された制約内で対応するサイズを持つすべてのファイルをリストするにはどうすればよいですか?

答え1

を探しているようですglobstar。次のように言ってください:

shopt -s globstar

そして、言います:

du -h ~/storage/Apps/**/trunk/test/*.cpp    # note ** after Apps

引用元:マニュアル:

*

ヌル文字列を含む任意の文字列に一致します。 globstar シェル オプションが有効で、‘*’ファイル名拡張コンテキストで使用される場合、‘*’単一のパターンとして使用される 2 つの隣接する は、すべてのファイルと 0 個以上のディレクトリおよびサブディレクトリに一致します。 が続く場合‘/’、 2 つの隣接する‘*’は、ディレクトリとサブディレクトリにのみ一致します。

関連情報