我遇到了如何对更改文件名进行BATCH调整的问题。
我的所有文件都是这样的:
1602017EN.MPG 1802312EN.MPG 等
我需要为所有文件名更改2件事。
我需要将文件扩展名调整为小写,因此它会读取.mpg而不是.MPG。 对于这部分,我正在使用苹果自动贩卖机服务。这非常有效。
其次,我需要删除最后两个字符,即字母。
所以第一项会读1602017.mpg等等。
如果可以使用我可以添加到我的automator服务的shell脚本来完成它,那将是完美的,因此它会相互改变no1和no2。
非常感谢你!
答案 0 :(得分:1)
假设您使用bash
进行shell脚本编写,可以使用sed
轻松完成:
for file in "$@"
do
name=$(echo "$file" | sed 's/[A-Z][A-Z].MPG$/.mpg/')
mv "$file" "$name"
done
(根据合理的假设,文件名中没有换行符。)
但是,您也可以直接在bash
中执行此操作,而无需调用外部程序:
$ for file in 1602017EN.MPG 1802312EN.MPG; do echo ${file/[A-Z][A-Z].MPG/.mpg}; done
1602017.mpg
1802312.mpg
$