コマンドラインから一括リネームできる何かを探していて見つけたのでメモ。
ざっくりテストしてますが、
間違ってたらコメントお願いします。
インストール
brew install rename
対象ファイルの元々の命名
以下のファイルがあるとする
a_data.txt
b_data.txt
c_data.txt
ファイル名の置換
data → test
a_test.txt
b_test.txt
c_test.txt
rename -s data test
連番
data-1.txt
data-2.txt
data-3.txt
// 1 が開始番号
// -Xは拡張子保護
// *.txtで.txtで終わるファイルのみを対象にする
rename -N ...1 -X -e '$_ = "data-$N"' *.txt
0埋め連番
data-003.txt
data-004.txt
data-005.txt
rename -N 003 -X -e '$_ = "data-$N"' *.txt
ファイル名の最後に文字列追加
a_data_hoge.txt
b_data_hoge.txt
c_data_hoge.txt
// 拡張子保護の -X をつけること でないとtxt_hogeになる
rename -X -a _hoge *.txt
ファイル名の最初に文字列追加
fuga_a_data.txt
fuga_b_data.txt
fuga_c_data.txt
rename -A fuga_ *.txt
ファイル名のスペースをアンダースコアに変換
a a.txt
↓
a_a.txt
rename --nows *.txt
// ドキュメント
http://plasmasturm.org/code/rename/
// 参考URL
docs http://plasmasturm.org/code/rename/
homebrew https://formulae.brew.sh/formula/rename