亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

linux下批量修改文件名的示例分析

發布時間:2021-10-21 18:11:56 來源:億速云 閱讀:151 作者:柒染 欄目:云計算

這篇文章將為大家詳細講解有關linux下批量修改文件名的示例分析,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

問題:見一兄弟的需求,下面我截的圖。
linux下批量修改文件名的示例分析
特別說明下,有的兄弟很細心,上面截圖中說的是去掉_finished我的解答是針對去掉finished的,不過不影響大局,特請大家注意下。

解答:  
 [準備測試數據]
mkdir /oldboy cd /oldboy  
touch stu_102999_1_finished.jpg  
touch stu_102999_2_finished.jpg  
touch stu_102999_3_finished.jpg  
touch stu_102999_4_finished.jpg  
touch stu_102999_5_finished.jpg  
 

方法1:shell腳本for循環結合sed實現
 [檢查數據]
[root@oldboy oldboy]# ll  
total 4  
-rw-r--r-- 1 root root 85 Oct  2 12:54 oldboy_modi_file.sh  
-rw-r--r-- 1 root root  0 Oct  2 12:50 stu_102999_1_finished.jpg  
-rw-r--r-- 1 root root  0 Oct  2 12:50 stu_102999_2_finished.jpg  
-rw-r--r-- 1 root root  0 Oct  2 12:50 stu_102999_3_finished.jpg  
-rw-r--r-- 1 root root  0 Oct  2 12:50 stu_102999_4_finished.jpg  
-rw-r--r-- 1 root root  0 Oct  2 12:50 stu_102999_5_finished.jpg  
 
 [開發腳本]
[root@oldboy oldboy]# cat oldboy_modi_file.sh  
#!/bin/sh  
for file in `ls ./*.jpg`   
#shell腳本for循環,file為變量依次取得ls ./*.jpg的結果文件名  
do  
mv $file `echo $file|sed 's/finished//g'`  
#使用mv命令進行更改文件,新的文件名字符串拼接是本題的重點。  
done  
#特別提示:通過本題,可以學習到for循環的使用,及mv、sed等命令的使用  
 
 [執行腳本]
[root@oldboy oldboy]# sh oldboy_modi_file.sh  
 
 [檢查結果]
[root@oldboy oldboy]# ll  
total 4  
-rw-r--r-- 1 root root 85 Oct  2 12:54 oldboy_modi_file.sh  
-rw-r--r-- 1 root root  0 Oct  2 12:50 stu_102999_1_.jpg  
-rw-r--r-- 1 root root  0 Oct  2 12:50 stu_102999_2_.jpg  
-rw-r--r-- 1 root root  0 Oct  2 12:50 stu_102999_3_.jpg  
-rw-r--r-- 1 root root  0 Oct  2 12:50 stu_102999_4_.jpg  
-rw-r--r-- 1 root root  0 Oct  2 12:50 stu_102999_5_.jpg  
 
 方法二:shell腳本for循環加變量的部分截取方法

[root@oldboy oldboy]#ls -l
total 4
-rw-r--r-- 1 root root 114 Nov 14 00:21 change_file_name.sh
-rw-r--r-- 1 root root   0 Nov 14 00:23 stu_102999_1_finished.jpg
-rw-r--r-- 1 root root   0 Nov 14 00:23 stu_102999_2_finished.jpg
-rw-r--r-- 1 root root   0 Nov 14 00:23 stu_102999_3_finished.jpg
-rw-r--r-- 1 root root   0 Nov 14 00:23 stu_102999_4_finished.jpg
-rw-r--r-- 1 root root   0 Nov 14 00:23 stu_102999_5_finished.jpg
[root@oldboy oldboy]#cat change_file_name.sh
#!/bin/sh
# oldboy QQ:31333741
for file in `ls ./*.jpg`
 do
/bin/mv $file `echo "${file%finished*}.jpg"`  #這里就是變量的截取新方法,在老男孩的shell編程課程中會講到此用法。
done
[root@oldboy oldboy]#sh change_file_name.sh
[root@oldboy oldboy]#ls -l
total 4
-rw-r--r-- 1 root root 114 Nov 14 00:21 change_file_name.sh
-rw-r--r-- 1 root root   0 Nov 14 00:23 stu_102999_1_.jpg
-rw-r--r-- 1 root root   0 Nov 14 00:23 stu_102999_2_.jpg
-rw-r--r-- 1 root root   0 Nov 14 00:23 stu_102999_3_.jpg
-rw-r--r-- 1 root root   0 Nov 14 00:23 stu_102999_4_.jpg
-rw-r--r-- 1 root root   0 Nov 14 00:23 stu_102999_5_.jpg
特別提示:本腳本和文件在同一目錄
 


 方法三:ls結合awk實現
[root@oldboy oldboy]# ll
total 0
-rw-r--r-- 1 root root 0 Nov 13 18:13 stu_102999_1_finished.jpg
-rw-r--r-- 1 root root 0 Nov 13 18:13 stu_102999_2_finished.jpg
-rw-r--r-- 1 root root 0 Nov 13 18:13 stu_102999_3_finished.jpg
-rw-r--r-- 1 root root 0 Nov 13 18:13 stu_102999_4_finished.jpg
-rw-r--r-- 1 root root 0 Nov 13 18:13 stu_102999_5_finished.jpg
[root@oldboy oldboy]# ls |awk -F 'finished' '{print  $0}'
stu_102999_1_finished.jpg
stu_102999_2_finished.jpg
stu_102999_3_finished.jpg
stu_102999_4_finished.jpg
stu_102999_5_finished.jpg
[root@oldboy oldboy]# ls |awk -F 'finished' '{print  $1}'
stu_102999_1_
stu_102999_2_
stu_102999_3_
stu_102999_4_
stu_102999_5_
[root@oldboy oldboy]# ls |awk -F 'finished' '{print  $2}'
.jpg
.jpg
.jpg
.jpg
.jpg
[root@oldboy oldboy]# ls |awk -F 'finished' '{print  $1$2}'
stu_102999_1_.jpg
stu_102999_2_.jpg
stu_102999_3_.jpg
stu_102999_4_.jpg
stu_102999_5_.jpg
[root@oldboy oldboy]# ls |awk -F 'finished' '{print "mv "$0"> [root@oldboy oldboy]# ll
total 0
-rw-r--r-- 1 root root 0 Nov 13 18:13 stu_102999_1_.jpg
-rw-r--r-- 1 root root 0 Nov 13 18:13 stu_102999_2_.jpg
-rw-r--r-- 1 root root 0 Nov 13 18:13 stu_102999_3_.jpg
-rw-r--r-- 1 root root 0 Nov 13 18:13 stu_102999_4_.jpg
-rw-r--r-- 1 root root 0 Nov 13 18:13 stu_102999_5_.jpg
方法四:通過專業的改名命令rename實現
[root@oldboy oldboy]# ll
total 0
-rw-r--r-- 1 root root 0 Nov 13 19:38 stu_102999_1_finished.jpg
-rw-r--r-- 1 root root 0 Nov 13 19:38 stu_102999_2_finished.jpg
-rw-r--r-- 1 root root 0 Nov 13 19:38 stu_102999_3_finished.jpg
-rw-r--r-- 1 root root 0 Nov 13 19:38 stu_102999_4_finished.jpg
-rw-r--r-- 1 root root 0 Nov 13 19:38 stu_102999_5_finished.jpg
[root@oldboy oldboy]# rename "finished" ""  * ==>執行批量改名
[root@oldboy oldboy]# ll
total 0
-rw-r--r-- 1 root root 0 Nov 13 19:38 stu_102999_1_.jpg
-rw-r--r-- 1 root root 0 Nov 13 19:38 stu_102999_2_.jpg
-rw-r--r-- 1 root root 0 Nov 13 19:38 stu_102999_3_.jpg
-rw-r--r-- 1 root root 0 Nov 13 19:38 stu_102999_4_.jpg
-rw-r--r-- 1 root root 0 Nov 13 19:38 stu_102999_5_.jpg
拓展下:改擴展名的方法
[root@oldboy oldboy]# rename .jpg .oldboy *
[root@oldboy oldboy]# ll
total 0
-rw-r--r-- 1 root root 0 Nov 13 19:38 stu_102999_1_.oldboy
-rw-r--r-- 1 root root 0 Nov 13 19:38 stu_102999_2_.oldboy
-rw-r--r-- 1 root root 0 Nov 13 19:38 stu_102999_3_.oldboy
-rw-r--r-- 1 root root 0 Nov 13 19:38 stu_102999_4_.oldboy
-rw-r--r-- 1 root root 0 Nov 13 19:38 stu_102999_5_.oldboy
特別提示:如果大家有需要解答問題可以,blog留言給我。我們互相交流,共同切磋,共同進步。  

關于linux下批量修改文件名的示例分析就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

囊谦县| 商河县| 廉江市| 六盘水市| 尼木县| 天水市| 凤山市| 新疆| 赣榆县| 太原市| 东乡| 神农架林区| 本溪| 徐闻县| 定襄县| 阳东县| 涞水县| 会昌县| 波密县| 黄骅市| 克什克腾旗| 临泽县| 麦盖提县| 启东市| 平舆县| 白水县| 青河县| 东城区| 新闻| 延长县| 云龙县| 蓬溪县| 桂平市| 浠水县| 昌黎县| 甘泉县| 登封市| 托克托县| 白沙| 钟山县| 岫岩|