Shell程式設計 批量修改檔名

2021-08-31 03:34:41 字數 2049 閱讀 6584

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...