欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

Linux下批量重命名 修改文件名方法 有大用 有大大用


Linux下批量修改文件名方法




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

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

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

复制代码
[root@show day74]# for name in `ls *.html`;do echo $name ${name%.html}.jpg;done
00.html 00.jpg
01.html 01.jpg
02.html 02.jpg
03.html 03.jpg
04.html 04.jpg
05.html 05.jpg
06.html 06.jpg
07.html 07.jpg
08.html 08.jpg
09.html 09.jpg
10.html 10.jpg
[root@show day74]# for name in `ls *.html`;do mv $name ${name%.html}.jpg;done
[root@show day74]# ls 
00.jpg 01.jpg 02.jpg 03.jpg 04.jpg 05.jpg 06.jpg 07.jpg 08.jpg 09.jpg 10.jpg
复制代码

 

 

方法二:sed命令

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

方法三:rename命令

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

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

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

复制代码
[root@cache01 test]# ls 
01.txt  03.txt  05.txt  07.txt  09.txt
02.txt  04.txt  06.txt  08.txt  10.txt
[root@cache01 test]# rename txt jpg *
[root@cache01 test]# ls 
01.jpg  03.jpg  05.jpg  07.jpg  09.jpg
02.jpg  04.jpg  06.jpg  08.jpg  10.jpg
复制代码

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

 


来自  https://blog.csdn.net/weixin_30590285/article/details/97667743

https://www.cnblogs.com/lyq863987322/p/8004618.html




下面是自己亲自做的

把 当前目录下的所有的 *.flv.flv.mp4 改成 *.mp4 的方法    ( 使用mv )

#    ls  *.flv.flv.mp4 > flv.flv.mp4.txt         #这是第一步,生成文件

#    while read LINE ; do mv $LINE ${LINE/.flv.flv.mp4/.mp4}; done < ./flv.flv.mp4.txt      #这里第二步读文件,进行修改


普通分类: