1

我遇到了一个问题,即如何为更改文件名进行 BATCH 调整。

我所有的文件都是这样的:

1602017EN.MPG 1802312EN.MPG 等

我需要为所有文件名更改两件事。

我需要将文件扩展名调整为小写,因此它读取的是 .mpg 而不是 .MPG。对于这一部分,我使用的是苹果自动机服务。这完美地工作。

其次,我需要删除最后 2 个字符,即字母。

所以第一项将是 1602017.mpg 等等。

如果它可以使用我可以添加到我的自动机服务的 shell 脚本来完成,那将是完美的,因此它会彼此更改 no1 和 no2。

非常感谢您!

4

1 回答 1

1

假设您正在使用bashshell 脚本,您可以使用以下命令轻松完成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
$
于 2013-07-02T06:35:36.757 回答