Linux下批量修改文件名
无需工具或脚本,使用rename即可实现。
rename命令可以通过正则表达式匹配并修改文件名,其语法与vim类似。
以下以修改前缀为例,假设某目录下有如下若干文件:
$ ls
[error]003.log [info]001.log [info]002.log [info]003.log
想要将所有的"[info]"前缀删除,可以采用如下命令:
rename "s/\[info\]//" *
想要将所有的.log改成.txt,可以采用如下命令:
rename "s/\.log/\.txt/" *
执行完之后,该目录下的文件名变成如下情况:
$ ls
001.txt 002.txt 003.txt [error]003.txt
即达到了所需要求。
rename是一个非常方便的工具,被集成在了大多数linux发行版中,如果提示命令未找到,可以使用包管理工具安装同名的package即可。