批量文件改名案例实战

发布时间:2020-06-21 13:27:40 作者:baishuchao
来源:网络 阅读:315

批量文件改名案例实战:

把下面所有文件的文件名中的finished内容去掉

[root@XCN test]# ll
total 0
-rw-r--r-- 1 root root 0 Jun 20 10:25 xcn_1_finished.jpg
-rw-r--r-- 1 root root 0 Jun 20 10:25 xcn_2_finished.jpg
-rw-r--r-- 1 root root 0 Jun 20 10:25 xcn_3_finished.jpg
-rw-r--r-- 1 root root 0 Jun 20 10:25 xcn_4_finished.jpg
-rw-r--r-- 1 root root 0 Jun 20 10:29 xcn_5_finished.jpg
-rw-r--r-- 1 root root 0 Jun 20 10:26 xcn_6_finished.jpg

方法1:shell脚本for循环结合sed实现

#!/bin/bash
for file in `ls ./*.jpg`  #shell脚本for循环,file为变量依次取得ls ./*.jpg的结果文件名
do
mv $file `echo $file|sed 's/finished//g'`  #使用mv命令进行更改文件,新的文件名字符串拼接是本题的重点。
done



执行后结果
[root@XCN test]# ll 
total 4
-rw-r--r-- 1 root root 87 Jun 20 10:35 finished.sh
-rw-r--r-- 1 root root  0 Jun 20 10:25 xcn_1_.jpg
-rw-r--r-- 1 root root  0 Jun 20 10:25 xcn_2_.jpg
-rw-r--r-- 1 root root  0 Jun 20 10:25 xcn_3_.jpg
-rw-r--r-- 1 root root  0 Jun 20 10:25 xcn_4_.jpg
-rw-r--r-- 1 root root  0 Jun 20 10:29 xcn_5_.jpg
-rw-r--r-- 1 root root  0 Jun 20 10:26 xcn_6_.jpg

方法二:shell脚本for循环加变量的部分截取方法

#!/bin/bash
#xcn qq:995345781
for file in `ls ./*.jpg`
do
/bin/mv $file `echo "${file%finished*}.jpg"`    #这里就是变量的截取新方法
done


执行后结果:
[root@XCN test]# ll
total 4
-rw-r--r-- 1 root root 108 Jun 20 10:41 change_file_name.sh
-rw-r--r-- 1 root root   0 Jun 20 10:38 xcn_1_.jpg
-rw-r--r-- 1 root root   0 Jun 20 10:38 xcn_2_.jpg
-rw-r--r-- 1 root root   0 Jun 20 10:39 xcn_3_.jpg
-rw-r--r-- 1 root root   0 Jun 20 10:39 xcn_4_.jpg
-rw-r--r-- 1 root root   0 Jun 20 10:38 xcn_5_.jpg
-rw-r--r-- 1 root root   0 Jun 20 10:38 xcn_6_.jpg

方法三:ls结合awk实现

[root@XCN test]# ll
total 0
-rw-r--r-- 1 root root 0 Jun 20 10:44 xcn_1_finished.jpg
-rw-r--r-- 1 root root 0 Jun 20 10:44 xcn_2_finished.jpg
-rw-r--r-- 1 root root 0 Jun 20 10:44 xcn_3_finished.jpg
-rw-r--r-- 1 root root 0 Jun 20 10:44 xcn_4_finished.jpg
-rw-r--r-- 1 root root 0 Jun 20 10:44 xcn_5_finished.jpg
-rw-r--r-- 1 root root 0 Jun 20 10:44 xcn_6_finished.jpg
[root@XCN test]# ls |awk -F 'finished' '{print  $0}'   
xcn_1_finished.jpg
xcn_2_finished.jpg
xcn_3_finished.jpg
xcn_4_finished.jpg
xcn_5_finished.jpg
xcn_6_finished.jpg
[root@XCN test]# ls |awk -F 'finished' '{print  $1}' 
xcn_1_
xcn_2_
xcn_3_
xcn_4_
xcn_5_
xcn_6_
[root@XCN test]# ls |awk -F 'finished' '{print  $2}' 
.jpg
.jpg
.jpg
.jpg
.jpg
.jpg
[root@XCN test]# ls |awk -F 'finished' '{print  $1$2}' 
xcn_1_.jpg
xcn_2_.jpg
xcn_3_.jpg
xcn_4_.jpg
xcn_5_.jpg
xcn_6_.jpg

[root@XCN test]# ls |awk -F 'finished' '{print "mv "$0" "$1$2" "}'|/bin/bash
[root@XCN test]# ll
total 0
-rw-r--r-- 1 root root 0 Jun 20 10:44 xcn_1_.jpg
-rw-r--r-- 1 root root 0 Jun 20 10:44 xcn_2_.jpg
-rw-r--r-- 1 root root 0 Jun 20 10:44 xcn_3_.jpg
-rw-r--r-- 1 root root 0 Jun 20 10:44 xcn_4_.jpg
-rw-r--r-- 1 root root 0 Jun 20 10:44 xcn_5_.jpg
-rw-r--r-- 1 root root 0 Jun 20 10:44 xcn_6_.jpg
[root@XCN test]#


方法四:通过专业的改名命令rename实现

[root@XCN test]# ll
total 0
-rw-r--r-- 1 root root 0 Jun 20 10:59 xcn_1_finished.jpg
-rw-r--r-- 1 root root 0 Jun 20 10:59 xcn_2_finished.jpg
-rw-r--r-- 1 root root 0 Jun 20 10:59 xcn_3_finished.jpg
-rw-r--r-- 1 root root 0 Jun 20 10:59 xcn_4_finished.jpg
-rw-r--r-- 1 root root 0 Jun 20 10:59 xcn_5_finished.jpg
-rw-r--r-- 1 root root 0 Jun 20 10:58 xcn_6_finished.jpg
[root@XCN test]# rename "finished" "" *
[root@XCN test]# ll
total 0
-rw-r--r-- 1 root root 0 Jun 20 10:59 xcn_1_.jpg
-rw-r--r-- 1 root root 0 Jun 20 10:59 xcn_2_.jpg
-rw-r--r-- 1 root root 0 Jun 20 10:59 xcn_3_.jpg
-rw-r--r-- 1 root root 0 Jun 20 10:59 xcn_4_.jpg
-rw-r--r-- 1 root root 0 Jun 20 10:59 xcn_5_.jpg
-rw-r--r-- 1 root root 0 Jun 20 10:58 xcn_6_.jpg

推荐阅读:
  1. 批量创建文件及批量修改文件名实战
  2. shell 批量文件改名

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

改名 批量文件 案例实战

上一篇:死磕 java线程系列之自己动手写一个线程池

下一篇:Android 关闭软键盘

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》