Ubuntu终端实现批量图片逐个查看并按键选择删除/保留的自动化方案
Ubuntu终端实现批量图片逐个查看并按键选择删除/保留的自动化方案
嘿,兄弟,太懂你这种要手动处理几百张图的崩溃感了!作为Ubuntu新手,不用怕,咱们用个简单的终端脚本就能搞定这个重复劳动,完全符合你想要的“看一张按Y删/N留,自动跳下一张”的需求,而且操作超简单~
步骤1:定位到图片文件夹
首先打开终端,切换到你的图片所在的文件夹,比如你的图片在~/Pictures/temp-photos里,就输入:
cd ~/Pictures/temp-photos
(记得把路径换成你自己的图片文件夹路径哦)
步骤2:创建排序脚本
创建一个名为image-sorter.sh的脚本文件,用nano编辑器打开它:
nano image-sorter.sh
步骤3:粘贴脚本代码
把下面这段代码复制粘贴进去(直接右键粘贴就行):
#!/bin/bash # 定义要处理的图片格式,你可以根据需要添加更多,比如gif、bmp等 IMAGE_EXTENSIONS=("jpg" "jpeg" "png" "webp") # 遍历所有匹配格式的文件,按文件名排序 for ext in "${IMAGE_EXTENSIONS[@]}"; do for file in *."$ext"; do # 检查文件是否存在(避免没有该格式文件时出错) if [ -f "$file" ]; then echo "正在查看: $file" # 用Ubuntu默认的图片查看器打开图片(eog是Eye of GNOME,系统自带的) eog "$file" & # 记录查看器的进程ID,方便看完后关闭 EOG_PID=$! # 等待用户输入,只接受Y/y或N/n while true; do read -p "是否删除这张图片?(Y/N): " input case $input in [Yy]* ) # 先关闭图片查看器 kill $EOG_PID # 永久删除文件(和你用SHIFT+DELETE的效果完全一样) rm -f "$file" echo "已删除: $file" break ;; [Nn]* ) # 关闭图片查看器,保留文件 kill $EOG_PID echo "已保留: $file" break ;; * ) echo "请输入Y或N!别瞎输哈😅" ;; esac done fi done done echo "所有图片处理完成!终于解放双手啦🥳"
步骤4:保存并赋予执行权限
在nano编辑器里,按Ctrl+O然后回车保存,再按Ctrl+X退出编辑器。
然后给脚本加上执行权限:
chmod +x image-sorter.sh
步骤5:运行脚本!
现在直接运行脚本就行:
./image-sorter.sh
一些实用小提示
- 先备份!先备份!先备份! 重要的事情说三遍,处理前最好把图片文件夹复制一份备份,避免误操作删错东西。
- 如果你的图片查看器不是默认的
eog(比如用KDE桌面的话是gwenview),把脚本里的eog换成你用的查看器命令就行。 - 脚本会按文件名顺序处理图片,和你在GUI里看到的排序一致。
- 要是中途想停止脚本,按
Ctrl+C就行。
备注:内容来源于stack exchange,提问作者Ken
相关产品推荐
相关产品推荐

