shell脚本批量添加扩展名二种方法

发布时间:2020-12-30编辑:脚本学堂
有关shell脚本批量添加文件扩展名的方法,使用rename命令修改后缀名、用for、sed和mv修改后缀名、用find和xargs添加后缀名,方法很多,大家择优而用之吧。

shell/ target=_blank class=infotextkey>shell脚本批量添加扩展名的方法

经测试可用的修改文件扩展名的二种方法:

方法1:
 

for file in  `ls`; do mv $file $file.txt; done

方法2:
 

find . -type f |xargs -i mv {} {}.txt

以下添加文件扩展名的方法,未经测试,大家研究下。

1、用rename命令修改后缀名 >> linux下rename命令用法详解(重命名文件)
 

复制代码 代码示例:
[root@demo test_rename]# ll
总计 20
-rw-r–r– 1 root root 0 09-27 00:57 rename1.log
-rw-r–r– 1 root root 0 09-27 00:57 rename2.log
-rw-r–r– 1 root root 0 09-27 00:57 rename3.log
-rw-r–r– 1 root root 0 09-27 00:57 rename4.log
-rw-r–r– 1 root root 0 09-27 00:57 rename5.log
[root@demo test_rename]# rename log txt *.log #把*.log改为*.txt
[root@demo test_rename]# ll
总计 20
-rw-r–r– 1 root root 0 09-27 00:57 rename1.txt
-rw-r–r– 1 root root 0 09-27 00:57 rename2.txt
-rw-r–r– 1 root root 0 09-27 00:57 rename3.txt
-rw-r–r– 1 root root 0 09-27 00:57 rename4.txt
-rw-r–r– 1 root root 0 09-27 00:57 rename5.txt

2、用for、sed和mv修改后缀名
 

复制代码 代码示例:
[root@demo test_rename]# ll
总计 20
-rw-r–r– 1 root root 0 09-27 01:51 rename1.log
-rw-r–r– 1 root root 0 09-27 01:21 rename2.log
-rw-r–r– 1 root root 0 09-27 01:21 rename3.log
-rw-r–r– 1 root root 0 09-27 01:21 rename4.log
-rw-r–r– 1 root root 0 09-27 01:21 rename5.log
[root@demo test_rename]# for i in $(ls .)
> do
> mv $i $(echo $i|sed ‘s/.log/.txt/')
> done
[root@demo test_rename]# ll
总计 20
-rw-r–r– 1 root root 0 09-27 01:51 rename1.txt
-rw-r–r– 1 root root 0 09-27 01:21 rename2.txt
-rw-r–r– 1 root root 0 09-27 01:21 rename3.txt
-rw-r–r– 1 root root 0 09-27 01:21 rename4.txt
-rw-r–r– 1 root root 0 09-27 01:21 rename5.txt

3、用find和xargs添加后缀名 
 

延伸阅读:


复制代码 代码示例:
[root@demo test_rename]# ll
总计 20
-rw-r–r– 1 root root 0 09-27 02:20 rename1
-rw-r–r– 1 root root 0 09-27 02:20 rename2
-rw-r–r– 1 root root 0 09-27 02:20 rename3
-rw-r–r– 1 root root 0 09-27 02:20 rename4
-rw-r–r– 1 root root 0 09-27 02:20 rename5
[root@demo test_rename]# find . -type f |xargs -i mv {} {}.txt
[root@demo test_rename]# ll
总计 20
-rw-r–r– 1 root root 0 09-27 02:20 rename1.txt
-rw-r–r– 1 root root 0 09-27 02:20 rename2.txt
-rw-r–r– 1 root root 0 09-27 02:20 rename3.txt
-rw-r–r– 1 root root 0 09-27 02:20 rename4.txt
-rw-r–r– 1 root root 0 09-27 02:20 rename5.txt