Lubuntu批量转换不同文件夹里的图片问题

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
big15
帖子: 2
注册时间: 2014-09-13 10:34
系统: LUBUNTU

Lubuntu批量转换不同文件夹里的图片问题

#1

帖子 big15 » 2014-09-13 10:37

A文件夹里包含很多子文件夹,里面有jpg和png格式的图片(有些图片名字还缺少后缀)
我要批量都转换成jpg的。之前撒一个个的点进去文件夹用convert命令
有没有批量的办法?或者脚本

windows下有很多类似软件。但是它们转换格式的时候,默认就跳过缺少后缀的图片了。。。

我是小白。因为电脑卡,所以才转ubuntu系统,不算很懂。请大家帮忙,万分感激。 :em01
头像
astolia
论坛版主
帖子: 6703
注册时间: 2008-09-18 13:11

Re: Lubuntu批量转换不同文件夹里的图片问题

#2

帖子 astolia » 2014-09-13 21:01

这个自己写段shell脚本倒是很简单

代码: 全选

find -type f -exec bash -c '[[ -n "$(file -bi "$1" | grep png)" ]] && convert "$1" jpg:"$1.jpg"' - {} \;
这样就把当前目录下及子目录中png格式的图片全部都转换成了jpg格式的文件。命名规则呢,就是原文件名+.jpg
big15
帖子: 2
注册时间: 2014-09-13 10:34
系统: LUBUNTU

Re: Lubuntu批量转换不同文件夹里的图片问题

#3

帖子 big15 » 2014-09-14 11:21

astolia 写了:这个自己写段shell脚本倒是很简单

代码: 全选

find -type f -exec bash -c '[[ -n "$(file -bi "$1" | grep png)" ]] && convert "$1" jpg:"$1.jpg"' - {} \;
这样就把当前目录下及子目录中png格式的图片全部都转换成了jpg格式的文件。命名规则呢,就是原文件名+.jpg
谢谢 好像成功了!帮了大忙,还有追问下,怎么删除png原文件?
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: Lubuntu批量转换不同文件夹里的图片问题

#4

帖子 eexpress » 2014-09-15 9:54

astolia, 有事情作了。继续提要求。lol
● 鸣学
ardin
帖子: 39
注册时间: 2007-01-28 16:08

Re: Lubuntu批量转换不同文件夹里的图片问题

#5

帖子 ardin » 2014-09-17 10:00

big15 写了:
astolia 写了:这个自己写段shell脚本倒是很简单

代码: 全选

find -type f -exec bash -c '[[ -n "$(file -bi "$1" | grep png)" ]] && convert "$1" jpg:"$1.jpg"' - {} \;
这样就把当前目录下及子目录中png格式的图片全部都转换成了jpg格式的文件。命名规则呢,就是原文件名+.jpg
谢谢 好像成功了!帮了大忙,还有追问下,怎么删除png原文件?
删除是 rm, 所以把上句中的的 convert 换成 rm 就成。

代码: 全选

find -type f -exec bash -c '[[ -n "$(file -bi "$1" | grep png)" ]] && rm "$1"' - {} \;
看到过了两天还没回,犹如听人唱了“Do Re Mi Fa Sol La Si ”, 老没等到最后一个“Do",所以忍不住回了一个,astolia兄莫怪。
回复