You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何统计目录及子目录下指定格式文件的总数量与总占用大小

统计目录下JPG文件数量及总大小的实现方法

基础命令用法(基于你已写的find框架补充)

你写了一半的find . -type f -name "*.jpg" -exec可以直接拼接du命令完成大小统计,完整写法如下:

# 统计所有JPG文件总大小
find . -type f -name "*.jpg" -exec du -ch {} + | tail -n 1

其中{} +是将所有匹配到的文件批量传递给du命令,避免逐个调用du的性能损耗,也能兼容带空格、特殊字符的文件名。

单条命令同时统计数量+大小

无需执行多次find,一次搜索即可同时得到两个结果:

find . -type f -name "*.jpg" -exec sh -c 'echo "总数量:$(($#))"; du -ch "$@" | tail -n 1' _ {} +

输出示例:

总数量:128
2.3G    总用量

可复用脚本实现

如果需要经常使用,可以写成bash脚本,支持自定义搜索目录,同时自动忽略大小写匹配.JPG后缀的文件:

#!/bin/bash
# 统计指定目录下所有JPG文件的数量和总占用大小
SEARCH_DIR=${1:-.} # 无参数时默认搜索当前目录

# 执行统计
find "$SEARCH_DIR" -type f -iname "*.jpg" -exec sh -c '
echo "搜索目录:$1"
echo "JPG文件总数量:$(($#-1))"
echo "总占用大小:$(du -ch "${@:2}" | tail -n1 | awk "{print \$1}")
' _ "$SEARCH_DIR" {} +

使用方法:

  • 保存代码为count_jpg.sh
  • 赋予执行权限:chmod +x count_jpg.sh
  • 运行:
    • 统计当前目录:./count_jpg.sh
    • 统计指定目录:./count_jpg.sh /home/yourname/pictures

内容的提问来源于stack exchange,提问作者ajnair95

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 16:36:02