微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用维护名称将eps文件转换为PNG文件?

在Linux上的一些文件夹中,我有文件* .eps,我想将它们转换成* .png并保留名称,例如:ball.eps to ball.png。 我试图做到:

convert *.eps *.png

但结果并不令人满意。 要做到这一点,我需要写一些简单的脚本,也许在Python或bash,所以我怎么能从文件夹,例如在Python中的文件名? 谢谢。

通配符运算符命令行`qdel`命令

将文本附加到与Sed现有的第一行

在bash脚本中解决sys.excepthook错误

检查在bash脚本中至less有两个参数

这个基于RANDOM的命令在bash中是什么意思?

尝试以下脚本:

#!/bin/bash for file in *.eps do filename=$(basename "$file") filename=${filename%.*} convert $file $filename.png done

希望它能为你工作。

for file in *.eps中的文件给出了扩展名为.eps的所有文件的列表

filename=$(basename "$file")给出filename=$(basename "$file")的原始名称

filename=${filename%.*}删除扩展名.eps

convert $file $filename.png转换成.png扩展名

编辑 :如果你想要的文件名是相同的,我甚至不认为你需要一个循环。 你可以做:

mkdir backup_directory && cp *.eps backup_directory mogrify -format png *.eps

mogrify就像是convert但它在原地修改文件,所以如果你不想丢失原始文件,你需要在其他地方备份它们。

使用循环,你可以在bash中做到这一点:

for f in *.eps; do b=$(basename "$f" .eps); convert "$f" "$b".png; done

在您尝试的通配符*将扩展到您使用它的所有文件的列表,这不是你想要的。 通过使用循环变量"$f"而不是一次只处理一个文件

你也可以避免调用basename并使用:

for f in *.eps; do convert "$f" ${f%eps}png; done

这从文件名的末尾切断了eps ,并将png添加到它。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐