批量改名六大神技

批量改名六大神技

shell实例1:

改名指令rename的用法如下:


[root@ChangerLee 批量改名]# touch file_{1..10}
[root@ChangerLee 批量改名]# ls
file_1  file_10  file_2  file_3  file_4  file_5  file_6  file_7  file_8  file_9
[root@ChangerLee 批量改名]# rename file config file*
[root@ChangerLee 批量改名]# ls
config_1   config_2  config_4  config_6  config_8
config_10  config_3  config_5  config_7  config_9

shell实例2:

[root@ChangerLee 批量改名]# ls
config_1   config_2  config_4  config_6  config_8 config_10  config_3  config_5  config_7  config_9
[root@ChangerLee 批量改名]# cat mulirename.sh 
#!/bin/bash
#multi-change name

for i in `ls config_*`
do
    mv $i `echo $i |cut -d _ -f2`.conf    
done
[root@ChangerLee 批量改名]# sh mulirename.sh 
[root@ChangerLee 批量改名]# ls
10.conf  1.conf  2.conf  3.conf  4.conf  5.conf  6.conf  7.conf  8.conf  9.conf  mulirename.sh

shell实例3:

[root@ChangerLee 批量改名]# ls file*
file_stu2016-08-101   file_stu2016-08-103  file_stu2016-08-106  file_stu2016-08-109
file_stu2016-08-1010  file_stu2016-08-104  file_stu2016-08-107  
file_stu2016-08-102   file_stu2016-08-105  file_stu2016-08-108
[root@ChangerLee 批量改名]# cat for_modifilename.sh 
#!/bin/bash
#an instantiation of rename
for i in `ls file*`
do
mv $i `echo $i|sed 's/stu//g'`
done
[root@ChangerLee 批量改名]# sh for_modifilename.sh 
[root@ChangerLee 批量改名]# ls file*
file_2016-08-101   file_2016-08-103  file_2016-08-106  file_2016-08-109
file_2016-08-1010  file_2016-08-104  file_2016-08-107 file_2016-08-102   file_2016-08-105  file_2016-08-108 

shell实例4:

此实例利用变量中字符串的截取

[root@ChangerLee 批量改名]# touch blog.changerjjlee.net{1..10}
[root@ChangerLee 批量改名]# ls
blog.changerjjlee.net1   blog.changerjjlee.net4  blog.changerjjlee.net8  
blog.changerjjlee.net10  blog.changerjjlee.net5  blog.changerjjlee.net9
blog.changerjjlee.net2   blog.changerjjlee.net6  forename.sh
blog.changerjjlee.net3   blog.changerjjlee.net7 
[root@ChangerLee 批量改名]# cat forename.sh 
#!/bin/bash
#an instantiation for rename

for name in `ls blog*`
do
mv $name ${name:5:18}
done
[root@ChangerLee 批量改名]# sh forename.sh 
[root@ChangerLee 批量改名]# ls
changerjjlee.net1   changerjjlee.net3  changerjjlee.net6  changerjjlee.net9    
changerjjlee.net10  changerjjlee.net4  changerjjlee.net7  forename.sh
changerjjlee.net2   changerjjlee.net5  changerjjlee.net8 

shell实例5:

变量名中字符串的替换

[root@ChangerLee 批量改名]# ls changerjjlee.net*
changerjjlee.net1   changerjjlee.net2  changerjjlee.net4  changerjjlee.net6  changerjjlee.net8
changerjjlee.net10  changerjjlee.net3  changerjjlee.net5  changerjjlee.net7  changerjjlee.net9
[root@ChangerLee 批量改名]# cat forename.sh 
#!/bin/bash
#an instantiation for rename

for name in `ls *net*`
do
mv $name ${name/changer/CHANGER}
done
[root@ChangerLee 批量改名]# sh forename.sh 
[root@ChangerLee 批量改名]# ls
CHANGERjjlee.net1   
CHANGERjjlee.net3  
CHANGERjjlee.net6  
CHANGERjjlee.net9   
CHANGERjjlee.net10  
CHANGERjjlee.net4  
CHANGERjjlee.net7  
forename.sh
CHANGERjjlee.net2   
CHANGERjjlee.net5  
CHANGERjjlee.net8  

shell实例6:

本实例针对文件名中存在空格的改名

[root@ChangerLee Pictures]# ls S*
Screenshot from 2016-07-16 03-23-54.png 
Screenshot from 2016-07-16 03-24-08.png
Screenshot from 2016-07-16 03-23-58.png 
Screenshot from 2016-07-16 04-17-31.png
Screenshot from 2016-07-16 03-24-04.png  
Screenshot from 2016-07-27 04-34-26.png
Screenshot from 2016-07-16 03-24-07.png
[root@ChangerLee Pictures]# ls S*|awk -F ' ' '{print "mv " $3"-"$4}'
mv 2016-07-16-03-23-54.png
mv 2016-07-16-03-23-58.png
mv 2016-07-16-03-24-04.png
mv 2016-07-16-03-24-07.png
mv 2016-07-16-03-24-08.png
mv 2016-07-16-04-17-31.png
mv 2016-07-27-04-34-26.png
[root@ChangerLee Pictures]# ls S*|awk -F ' ' '{print "mv " $0 $3"-"$4}'
mv Screenshot from 2016-07-16 03-23-54.png2016-07-16-03-23-54.png
mv Screenshot from 2016-07-16 03-23-58.png2016-07-16-03-23-58.png
mv Screenshot from 2016-07-16 03-24-04.png2016-07-16-03-24-04.png
mv Screenshot from 2016-07-16 03-24-07.png2016-07-16-03-24-07.png
mv Screenshot from 2016-07-16 03-24-08.png2016-07-16-03-24-08.png
mv Screenshot from 2016-07-16 04-17-31.png2016-07-16-04-17-31.png
mv Screenshot from 2016-07-27 04-34-26.png2016-07-27-04-34-26.png
[root@ChangerLee Pictures]# ls S*|awk -F ' ' '{print "mv " $0" "$3"-"$4}'
mv Screenshot from 2016-07-16 03-23-54.png 2016-07-16-03-23-54.png
mv Screenshot from 2016-07-16 03-23-58.png 2016-07-16-03-23-58.png
mv Screenshot from 2016-07-16 03-24-04.png 2016-07-16-03-24-04.png
mv Screenshot from 2016-07-16 03-24-07.png 2016-07-16-03-24-07.png
mv Screenshot from 2016-07-16 03-24-08.png 2016-07-16-03-24-08.png
mv Screenshot from 2016-07-16 04-17-31.png 2016-07-16-04-17-31.png
mv Screenshot from 2016-07-27 04-34-26.png 2016-07-27-04-34-26.png
[root@ChangerLee Pictures]# ls S*|awk -F ' ' '{print "mv \"" $0 " "$3"-"$4}'
mv "Screenshot from 2016-07-16 03-23-54.png 2016-07-16-03-23-54.png
mv "Screenshot from 2016-07-16 03-23-58.png 2016-07-16-03-23-58.png
mv "Screenshot from 2016-07-16 03-24-04.png 2016-07-16-03-24-04.png
mv "Screenshot from 2016-07-16 03-24-07.png 2016-07-16-03-24-07.png
mv "Screenshot from 2016-07-16 03-24-08.png 2016-07-16-03-24-08.png
mv "Screenshot from 2016-07-16 04-17-31.png 2016-07-16-04-17-31.png
mv "Screenshot from 2016-07-27 04-34-26.png 2016-07-27-04-34-26.png
[root@ChangerLee Pictures]# ls S*|awk -F ' ' '{print "mv \"" $0 "\" " $3"-"$4}'
mv "Screenshot from 2016-07-16 03-23-54.png" 2016-07-16-03-23-54.png
mv "Screenshot from 2016-07-16 03-23-58.png" 2016-07-16-03-23-58.png
mv "Screenshot from 2016-07-16 03-24-04.png" 2016-07-16-03-24-04.png
mv "Screenshot from 2016-07-16 03-24-07.png" 2016-07-16-03-24-07.png
mv "Screenshot from 2016-07-16 03-24-08.png" 2016-07-16-03-24-08.png
mv "Screenshot from 2016-07-16 04-17-31.png" 2016-07-16-04-17-31.png
mv "Screenshot from 2016-07-27 04-34-26.png" 2016-07-27-04-34-26.png
[root@ChangerLee Pictures]# ls S*|awk -F ' ' '{print "mv \"" $0 "\" " $3"-"$4}'>bash
[root@ChangerLee Pictures]# ls
2016-07-16-03-23-54.png  
2016-07-16-03-24-08.png          
2016-07-16-03-23-58.png  
2016-07-16-04-17-31.png  
forename.sh  
2016-07-16-03-24-04.png  
2016-07-27-04-34-26.png  
2016-07-16-03-24-07.png                
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JaysenLeo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值