我在一个目录中有很多 postscript (.ps
) 文件,其名称例如
cct@TOP_VMAIN_AND_3V3_SMPS,smps_ota,schematic.ps
我想批量转换为 .png
文件
我已经有以下命令(使用 bash):
gs -dSAFER -dBATCH -sDEVICE=pnggray -dTextAlphaBits=4 -r300 -sOutputFile=out-%d.png *.ps
这没问题,但是,显然,它只输出 out-1.png
、out-2.png
等等,这意味着我不知道哪个 .png
来自哪个 .ps
。
我想要做的是能够保留文件名,例如 那个
cct@TOP_VMAIN_AND_3V3_SMPS,smps_ota,schematic.ps
转换为
cct@TOP_VMAIN_AND_3V3_SMPS,smps_ota,schematic.png
对于每个文件。我怎样才能做到这一点?
最佳答案
使用bash的参数扩展:
f="cct@TOP_VMAIN_AND_3V3_SMPS,smps_ota,schematic.ps"
echo "${f%.*}.png" # Remove everything after the last dot.
关于Bash:如何像输入文件一样命名 gs 输出文件,但使用不同的文件扩展名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32904468/