似たような質問に答える古い質問を探していましたが、コードを操作するのにうまくいかないようです。 Bashの代わりにzshを使用していますが、他のbashシェルスクリプトはうまくいくので大丈夫だと思います。
プロンプト(インライン)でこれを試しました。
$i=107;for i in *.jpg;do mv "$i" "$i.jpg" $i=$((i+1)); done
デフォルトでは、現在の名前は次のとおりです。
107.jpg 108.jpg 109.jpg 110.jpg
リストが終了するまでお待ちください。
seqを使用したいコードについて誰かが助けてくれることを願っています。
ありがとう、
答え1
インデックスを増やし、ファイル名を処理するために2つの別々の変数を使用しようとしています。
i=107; for file in *.jpg; do mv "$file" "$((i++))".jpg; done
答え2
使用しているので、zsh
そのモジュールを使用して明示的なループを回避できます。zmv
autoload zmv
i=107; zmv -n '*.jpg' '$[i++].jpg'
-n
推奨処置に満足したら削除してください。