Linux下使用shell批量修改文件名的三种方法

1、通过sed替换

 
  1. [root@node01 wolf]# find / -type f -name wolf.log /wolf.log
  2. /tmp/wolf.log
  3. /root/wolf/wolf.log
  4. [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
  5. yujing
  6. yujing
  7. [root@node01 wolf]#

2、通过变量子串替换

 
  1. vi laolang.log
  2. wolf_20170806_1_wolf.jpg
  3. wolf_20170806_2_wolf.jpg
  4. wolf_20170806_3_wolf.jpg
  5. wolf_20170806_4_wolf.jpg
  6. wolf_20170806_5_wolf.jpg
  7. wolf_20170806_6_wolf.jpg
  8. wolf_20170806_7_wolf.jpg
  9. wolf_20170806_8_wolf.jpg
  10. wolf_20170806_9_wolf.jpg
  11. wolf_20170806_10_wolf.jpg
  12. [root@node01 data]# touch cat laolang.log |tr "n" " " [root@node01 data]# ll total 8316
  13. drwxr-xr-x 6 root root 4096 Jul 8 07:24 apache-maven-3.3.9
  14. -rw-r--r-- 1 root root 8491533 Jul 8 07:23 apache-maven-3.3.9-bin.tar.gz
  15. -rw-r--r-- 1 root root 0 Jul 29 14:16 cat
  16. drwxr-xr-x 2 root root 4096 Jul 29 06:00 day1
  17. drwxr-xr-x 2 root root 4096 Jul 29 11:50 day2
  18. drwxr-xr-x 2 root root 4096 Jul 29 14:12 day3
  19. -rw-r--r-- 1 root root 251 Jul 29 14:16 laolang.log
  20. -rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_10_wolf.jpg
  21. -rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_1_wolf.jpg
  22. -rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_2_wolf.jpg
  23. -rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_3_wolf.jpg
  24. -rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_4_wolf.jpg
  25. -rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_5_wolf.jpg
  26. -rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_6_wolf.jpg
  27. -rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_7_wolf.jpg
  28. -rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_8_wolf.jpg
  29. -rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_9_wolf.jpg
  30. [root@node01 data]# f=wolf_20170806_10_wolf.jpg [root@node01 data]# echo $f wolf_20170806_10_wolf.jpg
  31. [root@node01 data]# echo ${f%wolf*.jpg} wolf_20170806_10_
  32. [root@node01 data]# mv $f echo ${f%wolf*.jpg}.jpg [root@node01 data]# ll total 8316
  33. drwxr-xr-x 6 root root 4096 Jul 8 07:24 apache-maven-3.3.9
  34. -rw-r--r-- 1 root root 8491533 Jul 8 07:23 apache-maven-3.3.9-bin.tar.gz
  35. -rw-r--r-- 1 root root 0 Jul 29 14:16 cat
  36. drwxr-xr-x 2 root root 4096 Jul 29 06:00 day1
  37. drwxr-xr-x 2 root root 4096 Jul 29 11:50 day2
  38. drwxr-xr-x 2 root root 4096 Jul 29 14:12 day3
  39. -rw-r--r-- 1 root root 251 Jul 29 14:16 laolang.log
  40. -rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_10_.jpg
  41. -rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_1_wolf.jpg
  42. -rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_2_wolf.jpg
  43. -rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_3_wolf.jpg
  44. -rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_4_wolf.jpg
  45. -rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_5_wolf.jpg
  46. -rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_6_wolf.jpg
  47. -rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_7_wolf.jpg
  48. -rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_8_wolf.jpg
  49. -rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_9_wolf.jpg
  50. [root@node01 data]# for f in ls *wolf.jpg ;do mv $f echo ${f%wolf*.jpg}.jpg;done [root@node01 data]# ll total 8316
  51. drwxr-xr-x 6 root root 4096 Jul 8 07:24 apache-maven-3.3.9
  52. -rw-r--r-- 1 root root 8491533 Jul 8 07:23 apache-maven-3.3.9-bin.tar.gz
  53. -rw-r--r-- 1 root root 0 Jul 29 14:16 cat
  54. drwxr-xr-x 2 root root 4096 Jul 29 06:00 day1
  55. drwxr-xr-x 2 root root 4096 Jul 29 11:50 day2
  56. drwxr-xr-x 2 root root 4096 Jul 29 14:12 day3
  57. -rw-r--r-- 1 root root 251 Jul 29 14:16 laolang.log
  58. -rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_10_.jpg
  59. -rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_1_.jpg
  60. -rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_2_.jpg
  61. -rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_3_.jpg
  62. -rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_4_.jpg
  63. -rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_5_.jpg
  64. -rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_6_.jpg
  65. -rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_7_.jpg
  66. -rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_8_.jpg
  67. -rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_9_.jpg

3、修改扩展名

把上面的jpg更换为log

 
  1. [root@node01 data]# f=wolf_20170806_10_.jpg [root@node01 data]# echo ${f/%jpg/log}  wolf_20170806_10_.log
  2. [root@node01 data]# mv $f ${f/%jpg/log} [root@node01 data]# ls apache-maven-3.3.9 day1 laolang.log wolf_20170806_2_.jpg wolf_20170806_5_.jpg wolf_20170806_8_.jpg
  3. apache-maven-3.3.9-bin.tar.gz day2 wolf_20170806_10_.log wolf_20170806_3_.jpg wolf_20170806_6_.jpg wolf_20170806_9_.jpg
  4. cat day3 wolf_20170806_1_.jpg wolf_20170806_4_.jpg wolf_20170806_7_.jpg
  5. [root@node01 data]# ll total 8316
  6. drwxr-xr-x 6 root root 4096 Jul 8 07:24 apache-maven-3.3.9
  7. -rw-r--r-- 1 root root 8491533 Jul 8 07:23 apache-maven-3.3.9-bin.tar.gz
  8. -rw-r--r-- 1 root root 0 Jul 29 14:16 cat
  9. drwxr-xr-x 2 root root 4096 Jul 29 06:00 day1
  10. drwxr-xr-x 2 root root 4096 Jul 29 11:50 day2
  11. drwxr-xr-x 2 root root 4096 Jul 29 14:12 day3
  12. -rw-r--r-- 1 root root 251 Jul 29 14:16 laolang.log
  13. -rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_10_.log
  14. -rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_1_.jpg
  15. -rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_2_.jpg
  16. -rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_3_.jpg
  17. -rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_4_.jpg
  18. -rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_5_.jpg
  19. -rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_6_.jpg
  20. -rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_7_.jpg
  21. -rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_8_.jpg
  22. -rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_9_.jpg
  23. [root@node01 data]# for f in ls *.jpg ;do mv $f ${f/%jpg/log} ;done [root@node01 data]# ll total 8316
  24. drwxr-xr-x 6 root root 4096 Jul 8 07:24 apache-maven-3.3.9
  25. -rw-r--r-- 1 root root 8491533 Jul 8 07:23 apache-maven-3.3.9-bin.tar.gz
  26. -rw-r--r-- 1 root root 0 Jul 29 14:16 cat
  27. drwxr-xr-x 2 root root 4096 Jul 29 06:00 day1
  28. drwxr-xr-x 2 root root 4096 Jul 29 11:50 day2
  29. drwxr-xr-x 2 root root 4096 Jul 29 14:12 day3
  30. -rw-r--r-- 1 root root 251 Jul 29 14:16 laolang.log
  31. -rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_10_.log
  32. -rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_1_.log
  33. -rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_2_.log
  34. -rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_3_.log
  35. -rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_4_.log
  36. -rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_5_.log
  37. -rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_6_.log
  38. -rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_7_.log
  39. -rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_8_.log
  40. -rw-r--r-- 1 root root 0 Jul 29 14:16 wolf_20170806_9_.log
  • 21
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值