ファイル名を連続した数字に一括変更

ファイル名を連続した数字に一括変更

シェルで複数のファイルの名前を一括変更しようとしていますが、インターネットにはこれに関する資料がたくさんありますが、特定の状況に適したソリューションを見つけることができないようです。

「timestamp-id」と思われる複数のファイルがあります。

abc_128390.png
abc_138493.png
abc_159084.png
...

カウンターを変更したいです。

abc_001.png
abc_002.png
abc_003.png
...

私の(非常に)素朴なアプローチは次のとおりです。

mv abc_*.png abc_{001..123}.png

forまた、ループを使用して操作する方法が見つかりません。

残念ながら、renameこの特定のシステムでは使用できません。

どんなアドバイスもありがとうございました!

ベストアンサー1

増加するカウンターをよりスマートに処理できるソリューションは思い出せませんが、次のようにすると機能します。

i=0
for fi in abc_??????.png; do
    mv "$fi" abc_$i.png
    i=$((i+1))
done

abc_*.png最初の実行前に拡張されるため、安全に使用する必要がありますmvが、最後に6文字のタイムスタンプを持つファイルだけが必要なので、非常に具体的に指定すると便利です。

おすすめ記事