今天需要在服务器上用正则表达式来替换许多文件名中的某些字符。
于是google了”linux 批量改名”,发现rename这个工具可以满足需求,然而Google到的rename的中文说明发现它们所描述的内容已经不符合现在的版本而无法使用,所以研究了一下(也只是man rename罢了)记录下来:
rename [ -v ] [ -n ] [ -f ] perlexpr [ files ] |
这其中:-v 如果指定,则在屏幕回显修改的文件名
-n 如果指定,则不对文件名实际修改仅显示修改结果(测试用)
-f 如果指定,则强制覆盖已有文件
perlexpr 一个Perl风格的正则表达式
files 文件名通配符
示例:
rename s/_/-/ *.jpg #修改所有的包含_的.jpg文件中的_为-