yujin2010good
作者yujin2010good2019-06-10 13:47
系统工程师, 大型零售巨头

linux下使用shell批量修改文件名几种方法总结

字数 6756阅读 1289评论 1赞 2

1、通过sed替换
[root@node01 wolf]# find / -type f -name wolf.log
/wolf.log
/tmp/wolf.log
/root/wolf/wolf.log
[root@node01 wolf]# sed -i 's#wolf#yujing#g' find / -type f -name wolf.log
[root@node01 wolf]# find / -type f -name "wolf.log" | xargs cat

yujing
yujing
yujing
[root@node01 wolf]#

2、通过变量子串替换
vi laolang.log
wolf_20170806_1_wolf.jpg
wolf_20170806_2_wolf.jpg
wolf_20170806_3_wolf.jpg
wolf_20170806_4_wolf.jpg
wolf_20170806_5_wolf.jpg
wolf_20170806_6_wolf.jpg
wolf_20170806_7_wolf.jpg
wolf_20170806_8_wolf.jpg
wolf_20170806_9_wolf.jpg
wolf_20170806_10_wolf.jpg
[root@node01 data]# touch cat laolang.log |tr "\n" " "
[root@node01 data]# ll
total 8316
drwxr-xr-x 6 root root 4096 Jul 8 07:24 apache-maven-3.3.9
-rw-r--r-- 1 root root 8491533 Jul 8 07:23 apache-maven-3.3.9-bin.tar.gz
-rw-r--r-- 1 root root 0 Jul 29 14:16 cat
drwxr-xr-x 2 root root 4096 Jul 29 06:00 day1
drwxr-xr-x 2 root root 4096 Jul 29 11:50 day2
drwxr-xr-x 2 root root 4096 Jul 29 14:12 day3
-rw-r--r-- 1 root root 251 Jul 29 14:16 laolang.log
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_10_wolf.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_1_wolf.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_2_wolf.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_3_wolf.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_4_wolf.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_5_wolf.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_6_wolf.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_7_wolf.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_8_wolf.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_9_wolf.jpg
[root@node01 data]# f=wolf_20170806_10_wolf.jpg
[root@node01 data]# echo $f
wolf_20170806_10_wolf.jpg
[root@node01 data]# echo ${f%wolf.jpg}
wolf_2017080610
[root@node01 data]# mv $f `echo ${f%wolf
.jpg}.jpg [root@node01 data]# ll total 8316 drwxr-xr-x 6 root root 4096 Jul 8 07:24 apache-maven-3.3.9 -rw-r--r-- 1 root root 8491533 Jul 8 07:23 apache-maven-3.3.9-bin.tar.gz -rw-r--r-- 1 root root 0 Jul 29 14:16 cat drwxr-xr-x 2 root root 4096 Jul 29 06:00 day1 drwxr-xr-x 2 root root 4096 Jul 29 11:50 day2 drwxr-xr-x 2 root root 4096 Jul 29 14:12 day3 -rw-r--r-- 1 root root 251 Jul 29 14:16 laolang.log -rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_10_.jpg -rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_1_wolf.jpg -rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_2_wolf.jpg -rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_3_wolf.jpg -rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_4_wolf.jpg -rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_5_wolf.jpg -rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_6_wolf.jpg -rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_7_wolf.jpg -rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_8_wolf.jpg -rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_9_wolf.jpg [root@node01 data]# for f inls wolf.jpg;do mv $fecho ${f%wolf.jpg}.jpg`;done
[root@node01 data]# ll
total 8316
drwxr-xr-x 6 root root 4096 Jul 8 07:24 apache-maven-3.3.9
-rw-r--r-- 1 root root 8491533 Jul 8 07:23 apache-maven-3.3.9-bin.tar.gz
-rw-r--r-- 1 root root 0 Jul 29 14:16 cat
drwxr-xr-x 2 root root 4096 Jul 29 06:00 day1
drwxr-xr-x 2 root root 4096 Jul 29 11:50 day2
drwxr-xr-x 2 root root 4096 Jul 29 14:12 day3
-rw-r--r-- 1 root root 251 Jul 29 14:16 laolang.log
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_2017080610.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_201708061.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_201708062.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_201708063.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_201708064.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_201708065.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_201708066.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_201708067.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_201708068.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_201708069.jpg

3、修改扩展名
把上面的jpg更换为log
[root@node01 data]# f=wolf_2017080610.jpg
[root@node01 data]# echo ${f/%jpg/log}
wolf_2017080610.log
[root@node01 data]# mv $f ${f/%jpg/log}

[root@node01 data]# ls
apache-maven-3.3.9 day1 laolang.log wolf_201708062.jpg wolf_201708065.jpg wolf_201708068.jpg
apache-maven-3.3.9-bin.tar.gz day2 wolf_2017080610.log wolf_201708063.jpg wolf_201708066.jpg wolf_201708069.jpg
cat day3 wolf_201708061.jpg wolf_201708064.jpg wolf_201708067.jpg
[root@node01 data]# ll
total 8316
drwxr-xr-x 6 root root 4096 Jul 8 07:24 apache-maven-3.3.9
-rw-r--r-- 1 root root 8491533 Jul 8 07:23 apache-maven-3.3.9-bin.tar.gz
-rw-r--r-- 1 root root 0 Jul 29 14:16 cat
drwxr-xr-x 2 root root 4096 Jul 29 06:00 day1
drwxr-xr-x 2 root root 4096 Jul 29 11:50 day2
drwxr-xr-x 2 root root 4096 Jul 29 14:12 day3
-rw-r--r-- 1 root root 251 Jul 29 14:16 laolang.log
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_2017080610.log
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_201708061.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_201708062.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_201708063.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_201708064.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_201708065.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_201708066.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_201708067.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_201708068.jpg
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_201708069.jpg
[root@node01 data]# for f in ls *.jpg ;do mv $f ${f/%jpg/log} ;done
[root@node01 data]# ll
total 8316
drwxr-xr-x 6 root root 4096 Jul 8 07:24 apache-maven-3.3.9
-rw-r--r-- 1 root root 8491533 Jul 8 07:23 apache-maven-3.3.9-bin.tar.gz
-rw-r--r-- 1 root root 0 Jul 29 14:16 cat
drwxr-xr-x 2 root root 4096 Jul 29 06:00 day1
drwxr-xr-x 2 root root 4096 Jul 29 11:50 day2
drwxr-xr-x 2 root root 4096 Jul 29 14:12 day3
-rw-r--r-- 1 root root 251 Jul 29 14:16 laolang.log
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_2017080610.log
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_201708061.log
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_201708062.log
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_201708063.log
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_201708064.log
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_201708065.log
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_201708066.log
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_201708067.log
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_201708068.log
-rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_201708069.log

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

2

添加新评论1 条评论

#jiangjd系统工程师, 厦门翰林汇力信息技术有限公司
2019-06-24 23:31
非常不错,谢谢分享
Ctrl+Enter 发表

关于TWT  使用指南  社区专家合作  厂商入驻社区  企业招聘  投诉建议  版权与免责声明  联系我们
© 2019  talkwithtrend — talk with trend,talk with technologist 京ICP备09031017号-30