shell批量文件改名-创新互联
[root@PXE 1]# cat mv.sh
#!/bin/bash
for file in `ls *.jpg`
do
/bin/mv $file `echo "${file%finished*}.jpg"`
done
[root@PXE 1]# ll
total 8
-rw-r--r-- 1 root root 106 Dec 26 05:33 a.log
-rw-r--r-- 1 root root 90 Dec 26 05:39 mv.sh
-rw-r--r-- 1 root root 0 Dec 26 05:34 stu_102999_1_finished.jpg
-rw-r--r-- 1 root root 0 Dec 26 05:34 stu_102999_2_finished.jpg
-rw-r--r-- 1 root root 0 Dec 26 05:34 stu_102999_3_finished.jpg
-rw-r--r-- 1 root root 0 Dec 26 05:34 stu_102999_4_finished.jpg
[root@PXE 1]# sh mv.sh
[root@PXE 1]# ll
total 8
-rw-r--r-- 1 root root 106 Dec 26 05:33 a.log
-rw-r--r-- 1 root root 90 Dec 26 05:39 mv.sh
-rw-r--r-- 1 root root 0 Dec 26 05:34 stu_102999_1_.jpg
-rw-r--r-- 1 root root 0 Dec 26 05:34 stu_102999_2_.jpg
-rw-r--r-- 1 root root 0 Dec 26 05:34 stu_102999_3_.jpg
-rw-r--r-- 1 root root 0 Dec 26 05:34 stu_102999_4_.jpg
思路:
[root@PXE 1]# k="stu_102999_1_finished.jpg"
[root@PXE 1]# echo ${k%finished*}.jpg
stu_102999_1_.jpg
2、用${string/%substring/replace} 修改扩展名
[root@PXE 201126_02]# ls
1.log 1.sh camz.HTML icpc.HTML leco.HTML wjb.HTML zshu.HTML
将后缀为HTML改为TH
[root@PXE 201126_02]# vim 1.sh
#!/bin/bash
for f in `ls *.HTML`
do
mv $f `echo ${f/%HTML/TH}`
done
[root@PXE 201126_02]# sh -x 1.sh
++ ls camz.HTML icpc.HTML leco.HTML wjb.HTML zshu.HTML
+ for f in '`ls *.HTML`'
++ echo camz.TH
+ mv camz.HTML camz.TH
+ for f in '`ls *.HTML`'
++ echo icpc.TH
+ mv icpc.HTML icpc.TH
+ for f in '`ls *.HTML`'
++ echo leco.TH
+ mv leco.HTML leco.TH
+ for f in '`ls *.HTML`'
++ echo wjb.TH
+ mv wjb.HTML wjb.TH
+ for f in '`ls *.HTML`'
++ echo zshu.TH
+ mv zshu.HTML zshu.TH
[root@PXE 201126_02]# ls
1.log 1.sh camz.TH icpc.TH leco.TH wjb.TH zshu.TH
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
分享文章:shell批量文件改名-创新互联
标题链接:http://scyanting.com/article/dpooco.html