使用shell脚本转换文件格式
我想使用下面的shell脚本转换文件夹中所有图像文件的格式。我的想法是使用文件名的基本名称,并使用相同的名称命名要转换的文件。我从网上收集的这些线路不能满足我的要求。谢谢大家使用shell脚本转换文件格式,shell,Shell,我想使用下面的shell脚本转换文件夹中所有图像文件的格式。我的想法是使用文件名的基本名称,并使用相同的名称命名要转换的文件。我从网上收集的这些线路不能满足我的要求。谢谢大家 for f in *.eps do echo "converting format....." filename=`basename ${f}` fbase=`$filename | cut -d'.' -f1` extn = ${fbase}.png convert -geometry 100
for f in *.eps
do
echo "converting format....."
filename=`basename ${f}`
fbase=`$filename | cut -d'.' -f1`
extn = ${fbase}.png
convert -geometry 1000x1000 -density 300 -trim ${f} $extn
done
我想你需要更像这样的东西:
#!/bin/bash
for f in *.eps
do
new=${f/eps$/png}
echo Converting $f to $new
convert -geometry 1000x1000 -density 300 -trim "$f" "$new"
done
注意:
以“new=”开头的行正在变量“f”中执行bash替换,将行末尾的“eps”(即$)替换为“png”。不要使用反勾号,而是使用
$(…)
。basename也可以删除后缀,$echo$(basename test.eps.eps)。png
确定,我想他们更时髦,而且确实有优势。谢谢-我已经更新了答案,所以我和OP的坏习惯不会传播;-)