ファイル名に再帰的にゼロを追加する方法

ファイル名に再帰的にゼロを追加する方法

次のファイルを含むフォルダがあります。

03.jpg
04.jpg
05.jpg
99.jpg

このファイルの名前を次に変更したいと思います。

003.jpg
004.jpg
005.jpg
099.jpg

Bashスクリプトを使用して。どうすればいいですか?

ベストアンサー1

この試み:

rename -n 's/\d+/sprintf("%.03d", $&)/e' *jpg

(テストが正常な場合は -n スイッチを外してください.)

警告する これを行うこともできないかもしれない同じ名前の他のツールがあるので注意してください。

次のコマンドを実行すると(GNU

$ file "$(readlink -f "$(type -p rename)")"

この結果が出ました。

.../rename: Perl script, ASCII text executable

以下は含まれません:

ELF

もしそうなら、これは正しいツールのようです=)

そうでない場合は、それをデフォルト値に設定し(通常はすでに適用されている)、Debian次のように派生しますUbuntu

$ sudo update-alternatives --set rename /path/to/rename

(コマンドのパスに置き換えます/path/to/renameperl's rename


このコマンドがない場合は、パッケージマネージャを検索してインストールするか、手動で行う


最後に、このツールはもともとPerlの父親であるLarry Wallによって書かれました。

おすすめ記事