我有一系列編號為 1-20 的文件,終端機對它們進行如下排序:
episode1.txt episode10.txt episode11.txt episode12.txt
我想透過在數字前面插入 0 來重命名檔案 1-9。我的程式碼如下:
for file in episode{1-9}.txt
do
rename -vs "episode"* "episode0"*
done
我也嘗試過“mv”命令,但它不起作用。有沒有人有什麼建議?先致謝
答案1
若要列舉序列,請使用{x..y}
代替{x-y}
。
由於所有文件的名稱都非常相似,因此我們可以使用參數擴展來截斷前綴,episode
同時將其替換為episode0
.
完整的命令如下:
for file in episode{1..9}.txt
do
mv "$file" "episode0${file#episode}"
done
${file#episode}
是一個參數擴展,在本例中,它會擴展參數,file
同時刪除與 相符的最短前綴模式episode
。