您好,登錄后才能下訂單哦!
批量文件改名案例實戰:
把下面所有文件的文件名中的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
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。