.jpg ファイルの記憶領域がどれくらいになるかを知らせるコマンド(例)があるかどうか疑問に思います。同様にfind / -iname "*.jpg"
、見つかった各ファイルのサイズを追加し、全体を出力します。
答え1
find ./path/to/your/drive -type f -name '*.jpg' -exec du -ch {} +
またはより速く
find /path/to/your/drive -name "*.jpg" -print0 | du -ch --files0-from=-
または簡単に言えば、
du -ch /path/to/your/drive/*.jpg | grep total
awk
または、次の助けを借りて
find /path/to/your/drive -iname "*.jpg" -ls | awk '{total += $7} END {print total}'
私のシステムでは、ファイルサイズが7番目のフィールドに表示されます。状況が異なる場合は、それに応じて調整してください。
コメントでOPの要求に応じて、ディレクトリ内のすべての画像と全体のサイズを見つけるには、このコマンドを使用できます(@Stéphane Chazelasが提案)。
find . -type f -exec file --mime-type {} + | sed -n 's|: image/[^[:blank:]]*$||p' | tr '\n' '\0' | du --files0-from=- -hc
または
du -shc $(find . -name '*' -exec file {} \; | grep -o -P '^.+: \w+ image' | cut -d':' -f1) | grep total
答え2
あるいは、POSIXを使用して次のことを実行できます。
find . -type f -name "*.jpg" -exec du -sk {} \; |
awk 'BEGIN{total=0};{total += $1}; END{printf "%.3f MB\n", total / 1024}'
追加資料:
- du - ファイル空間使用量の見積もり(POSIX)
- 検索 - ファイルを検索(POSIX)