Linux下批量修改文件名方法

时间:2023-03-08 15:16:06
Linux下批量修改文件名方法

对于在Linux中修改文件名的方式一般我们会用mv命令进行修改,但是mv命令是无法处理大量文件修改名称。

但是在处理大量文件的时候该如何进行批量修改呢?

方法一:mv配合for循环方式进行修改

[root@show day74]# for name in `ls *.html`;do echo $name ${name%.html}.jpg;done
.html .jpg
.html .jpg
.html .jpg
.html .jpg
.html .jpg
.html .jpg
.html .jpg
.html .jpg
.html .jpg
.html .jpg
.html .jpg
[root@show day74]# for name in `ls *.html`;do mv $name ${name%.html}.jpg;done
[root@show day74]# ls
.jpg .jpg .jpg .jpg .jpg .jpg .jpg .jpg .jpg .jpg .jpg

方法二:sed命令

ls *jpg|sed -r 's#(.*).jpg#mv &  \1.mp4#'|bash

方法三:rename命令

rename命令用字符串替换的方式批量改变文件名。

格式:rename  原名  替换名  要改的文件

原字符串:将文件名需要替换的字符串; 目标字符串:将文件名中含有的原字符替换成目标字符串; 文件:指定要改变文件名的文件列表。

[root@cache01 test]# ls
.txt .txt .txt .txt .txt
.txt .txt .txt .txt .txt
[root@cache01 test]# rename txt jpg *
[root@cache01 test]# ls
.jpg .jpg .jpg .jpg .jpg
.jpg .jpg .jpg .jpg .jpg

有更多方法欢迎大家提出。