有关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