この記事では、Linux環境でファイルの名前を一括で変更する方法を詳しく解説します。Linuxのコマンドラインインターフェース(CLI)を用いた複数の方法や、実用的な応用例についても言及します。
目次
基本的な一括変更方法
Linuxには、ファイル名を一括で変更するためのコマンドが複数存在します。以下はその基本的な方法です。
renameコマンド
# "txt" 拡張子のファイルを "bak" 拡張子に変更
rename 's/\.txt$/.bak/' *.txt
このコマンドは、カレントディレクトリ内の全ての`.txt`ファイルを`.bak`に変更します。
mvとforループ
for f in *.txt; do
mv "$f" "${f%.txt}.bak"
done
このスクリプトも同様に、`.txt`ファイルを`.bak`ファイルに変更しますが、`mv`コマンドと`for`ループを使います。
応用例
日付を付与する
today=$(date +%Y%m%d)
for f in *.jpg; do
mv "$f" "$today-$f"
done
この例では、JPEGファイルに今日の日付を付与します。
一括でディレクトリに移動
for f in *.bak; do
mv "$f" backup/
done
このスクリプトは、`.bak`拡張子のファイルを`backup/`ディレクトリに移動します。
ファイル名の大文字を小文字に変換
for f in *; do
mv "$f" "$(echo $f | tr '[:upper:]' '[:lower:]')"
done
この例では、全てのファイル名の大文字を小文字に変換します。
ファイル名に特定の文字列を追加
for f in *.png; do
mv "$f" "icon-$f"
done
このスクリプトは、全ての`.png`ファイルの名前の前に`icon-`という文字列を追加します。
まとめ
Linuxでファイル名を一括で変更する方法は多数あり、それぞれの用途に応じて最適な方法が選べます。今回紹介した基本的な方法から応用例まで、用途に応じて柔軟に使い分けることができます。
コメント