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

Ubuntu下调整命令筛选目录内指定像素大小的PNG/JPG图片并导出日志

失效原因

原有命令仅适配PNG格式的file输出规则,file命令对不同图片格式的尺寸输出格式存在差异:
PNG格式尺寸输出为[宽] x [高](x两侧带空格),JPG/JPEG格式尺寸输出为[宽]x[高](x两侧无空格)。原有sed正则只能匹配带空格的PNG尺寸格式,JPG格式的行未被正则替换,会直接输出原始结果,导致后续awk无法提取宽度做筛选。

适配多格式的命令

以下命令同时支持PNG、JPG、JPEG格式,兼容大小写后缀,可自定义筛选规则,结果直接写入日志文件:

# 示例:筛选宽度小于250的所有图片,结果写入invalid_images.log
find . -type f \( -iname '*.png' -o -iname '*.jpg' -o -iname '*.jpeg' \) -exec file {} \; | \
sed -E 's/(.*\.(png|jpg|jpeg)):.* ([0-9]+)( x |x)([0-9]+).*/\3 \5 \1/I' | \
awk 'int($1) < 250 {print}' > invalid_images.log

自定义修改说明

  • 调整筛选规则:修改awk部分的判断逻辑即可,常用规则参考:
    • 筛选宽度大于1000的图片:int($1) > 1000
    • 筛选高度小于500的图片:int($2) < 500
    • 筛选宽高都小于300的图片:int($1) < 300 && int($2) < 300
  • 日志输出配置:把末尾的invalid_images.log替换为你需要的日志路径即可,默认覆盖原有日志,需要追加写入的话把>改为>>
  • 后续批量删除:如果要直接删除日志中所有不符合要求的图片,执行awk '{print $3}' invalid_images.log | xargs rm -f即可。

内容的提问来源于stack exchange,提问作者A.Marcus

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 03:54:02