Answers:
这将为您完成工作。
rename 's/.m4b$/.m4a/' *.m4b
要进行测试运行,可以使用以下命令:
rename 's/.m4b$/.m4a/' *.m4b -vn
-v
表示“详细”,重命名文件时将输出文件名。
-n
将在不重命名任何文件的情况下进行测试运行,但会向您显示将被重命名的文件列表。
重命名文件的一种快速方法(如果您要做的就是将其重命名,并且不需要将其转换为另一种格式)是使用Bash的参数扩展,Bash Wiki上对此进行了详细介绍。
更改扩展名有几种不同的方法,但是我在这里使用了简单的${var/original/replacement}
范例:
for file in *.m4b; do mv -- "${file}" "${file/%m4b/m4a}"; done
如果要查看该命令将要更改的内容,请放在echo
之前,mv
并列出更改。
不用说,也可以为其他文件修改此oneliner,也可以使用参数扩展名来删除文件扩展名。
*.m4b
。否则,您将遇到错误argument list too long
。
for file in *.m4b; do mv -v -- "${file}" "${file/%m4b/m4a}"; done
rename
是PERL脚本,接受正则表达式。Debian系统也将rename.ul
命令作为的一部分util-linux-ng package
。如果未安装perl(好的,可能性很小;))rename
也没有安装。