1)請使用for迴圈在指定的/yuki目錄下建立5個檔案,檔名分別為:
stu_102999_1_finished.jpg
stu_102999_5_finished.jpg
分析:
所有檔名首尾都相同,只是中間的數字變化了。 所以檔名:直接迴圈數字與首尾固定的內容進行拼接。
注意乙個**問題:就是最好先判斷下指定的目錄/yuki是否已經存在。 2)注意乙個**問題:就是最好先判斷下指定的目錄/yuki是否已經存在。
解答:
#!/bin/sh
done
2)用for迴圈實現將以上檔名中的_finished去掉。
解答:方法1:
#!/bin/sh
#此方法屬於投機取巧的方法,不推薦。
方法2:#!/bin/sh
done
方法3:#!/bin/sh
#此方法可讀性並不是很強,不推薦。也許是我自己寫得還不夠精簡~
方法4:#!/bin/sh
#這裡就是變數的擷取新方法,推薦使用。
方法5:#!/bin/sh
done
方法6:#!/bin/sh
source /etc/profile
cd /yuki
#因為awk就可以直接針對行進行處理,所以可以不使用for迴圈進行變數就可以批量修改檔名。
ls | awk -f '_finished' '' | /bin/bash
方法7:#!/bin/sh
source /etc/profile
cd /yuki
#對xx檔案重新命名的時候將某一部分替換成xx,推薦使用。
shell 批量修改檔名
當前目錄有n多個 檔案,需要按從小到大排序,然後改名成 1.n.解法如下 整理來自於論壇 方法一 root squid mkdir ls lrs total 24 rw r r 1 root root 7 jun 1 01 19 test1.txt rw r r 1 root root 8 jun ...
shell 批量修改檔名
擷取檔名的前兩個字元 fname 擷取檔案的後四個字元 bname name echo name 1 bc 拼接成檔名 filename fname name bname 更改檔名 擷取檔名的前兩個字元 fname 擷取檔案的後四個字元 bname name echo name 1 bc 拼接成檔名...
shell批量修改檔名
bin bash neox folder root folder cd folder num 0 for filename in ls folder do let num num 1 old filename prefix with suffix,new filename continuous di...