
Linuxでは、
find ./ -size +1M
1M より大きいファイルを検索したいのですが、これらのファイルに必要な合計容量を合計するにはどうすればよいでしょうか?
答え1
-exec
それぞれの結果に対してプログラムを実行できますfind
。
-exec utility [argument ...] {} +
-exec
```{}''is replaced with as many pathnames as possible for each invocation of utility. This behaviour is similar to that of
xargs(1)`を除いてと同じです。
du -c
次のように実行して、結果のディスク使用量 (使用ブロック数) の合計を取得します。
find ./ -size +1M -exec du -c {} +
オプションで、-h
人間が判読できるサイズを取得する場合、または-k
1k ブロックを取得する場合に追加します。-s
別のfind
式でもフォルダーが返される場合は追加します。
これには、多すぎる結果は、ファイル名から単一のdu
呼び出しが構築され、それが長すぎる場合は、別々の合計を持つ個別の呼び出しに分割されるためです。