我有 357 个 .png 文件位于当前目录的不同子目录中:
settings# find . -name \*.png |wc -l
357
settings# find . -name \*.png | head
./assets/authenticationIcons/audio.png
./assets/authenticationIcons/bbid.png
./assets/authenticationIcons/camera.png
./bin/icons/ca_video_chat.png
./bin/icons/ca_voice_control.png
./bin/icons/ca_vpn.png
./bin/icons/ca_wifi.png
是否有一个 oneliner 来计算它们占用的总磁盘空间(在我对它们进行 pngcrush 之前)?
我试过(未成功):
settings# find . -name \*.png | xargs du -s
4 ./assets/support/wifi_locked_icon_white.png
1 ./assets/support/wifi_vpn_icon_connected.png
1 ./assets/support/wi_fi.png
1 ./assets/support/wi_fi_conected.png
8 ./bin/blackberry-tablet-icon.png
2 ./bin/icons/ca_about.png
2 ./bin/icons/ca_accessibility.png
2 ./bin/icons/ca_accounts.png
2 ./bin/icons/ca_airplane_mode.png
2 ./bin/icons/ca_application_permissions.png
1 ./bin/icons/ca_balance.png
也许是这样的:
find . -type f -name "*.png" -printf '%s\n' | awk '{ sum += $1 } END { print sum }'
?似乎对我有用 - 结果将以字节为单位。
du
是我最喜欢的答案。如果你有一个固定的文件系统结构,你可以使用:如果您需要添加子目录,只需添加:
等等等等
但是,这不是一个非常有用的命令,因此使用您的查找:
这将回显您找到的所有文件的总大小(以字节为单位)。
希望有所帮助。
以千字节为单位查找大小(只要 ls -l 的第 5 列是“大小”
find . -name *.png -print0 | du -c --files0-from=- | tail -1
逻辑块大小;在 du 命令中插入 -b 以输出字节。