Linuxのファイル名変更はMvだけじゃない?一括置換テクまでプロが徹底解説
Linuxのファイル名変更はMvだけじゃない?一括置換テクまでプロが徹底解説について知っておくべき 事実を分かりやすい構成で解説いたします。
Linuxファイル名 一括変更において最も直感的かつ強力なのが、Perl正規表現に対応したrenameコマンド(Debian/Ubuntu環境ではfile-renameパッケージ等として提供)です。
Linux renameコマンド 使い方の基本構文は、sedライクな置換式 's/検索パターン/置換文字列/' を渡す形をとります。
1. 拡張子の一括変更
大量の画像ファイルやテキストファイルの拡張子を統一する場合、正規表現の末尾一致記号($)を活用します。
# .jpeg ファイルをすべて .jpg に拡張子変更(事前確認) rename -n 's/\.jpeg$/\.jpg/' .jpeg # 実行 rename 's/\.jpeg$/\.jpg/' *.jpeg
ここで極めて重要なのが、-n オプション(ドライラン)です。これを付与して実行すると、実際の変更は行われず「どのファイルがどう改名されるか」がターミナル上にシミュレーション表示されます。Linux ファイル名 拡張子変更を行う際は、必ず`-n`で確認してから本番実行する手順を徹底してください。
2. Linux ファイル名置換 正規表現の応用パターン
日次ログやアセットファイルの名前を整形する際、正規表現の後方参照や文字種変換が真価を発揮します。
# ファイル名先頭に日付「20260401_」を付加 rename 's/^/20260401_/' *.log # ファイル名に含まれる半角スペースをアンダースコアに一括置換 rename 's/ /_/g' * # 大文字のファイル名をすべて小文字に変換 rename 'y/A-Z/a-z/' *
複雑な文字列置換であっても、Perl互換の正規表現が使える環境であれば、ワンライナーで正確に処理を完了させることが可能です。