Mv

使用圖形文件並嘗試使用 mv 順序重命名

  • April 30, 2022

我一直在尋找一個回答類似問題的老問題,但顯然我不太擅長使程式碼工作。我在 zsh 而不是 bash,但其他 bash shell 腳本執行良好,所以我認為沒關係。

我已經嘗試過提示(內聯)

$i=107;for i in *.jpg;do mv "$i" "$i.jpg" $i=$((i+1)); done

基本上,我希望目前名稱如下:

107.jpg 108.jpg 109.jpg 110.jpg

等到列表的末尾。

希望有人可以幫助我編寫程式碼,我想使用 seq 嗎?

納克斯,

您想為要遞增的索引和要處理的文件名使用兩個單獨的變數:

i=107; for file in *.jpg; do mv "$file" "$((i++))".jpg; done

由於您正在使用,您可以通過使用其模組zsh來避免顯式循環:zmv

autoload zmv

i=107; zmv -n '*.jpg' '$[i++].jpg'

-n一旦您對建議的操作感到滿意,請刪除。

引用自:https://unix.stackexchange.com/questions/700992