批量修改文件名称方法

方法一:rename批量修改

rename [options] "s/oldname/newname/" file

其中包含三个部分:
原字符串oldname:将要被替换的字符串;
目标字符串newname:原字符替换成的目标字符串;
文件file:指定要改变文件名的文件列表。

修改后缀名:

rename "s/.html/.php/" *     # 把.html 后缀的改成 .php后缀

rename -n "s/Screenshot from ([0-9\- ]+).jpg/1.jpg/" *
将 () 匹配的内容取出来放到替换部分。

find ./ -name "test*.txt" -newer start_time -and ! -newer end_time | xargs rename _ok.txt  _.txt

方法二:for循环遍历,mv修改

for a in ./*.py; do mv $a ${a//.py/.pybak}; done

方法三:awk 格式化修改

ls test*.txt | awk -F '.'  '{print "mv " $0" "$1".txt"}' | bash

awk,$0为文件全名,$1为 . 分隔的第一部分(文件名),$2为第二部分,以此类推;
原文地址:https://www.cnblogs.com/everfight/p/linux_batch_rename.html