複数のファイルをリネームしたくなった時のメモ

ファイルをリネームしたくなる時、よくあります。例えば
  1. ファイル名の命名ミスで、修正したい
  2. 作業を進めていったら、ファイル名と内容で齟齬が出てきた
  3. 設定ファイル名を変更することで、一時的に無効にしたい
などなど。。。

せいぜい 2, 3 個ならば、根気よく mv コマンドやファイルブラウザ上で修正する気も起こりましょう…が、10 個以上あったらどうか…? 更に、それをリネーム後、また戻さなければいけなくなったりしたら…?

無意味な単純作業も嫌ですが、手作業によるミスも怖い。。。そのような時は、そのものズバリ rename コマンドが便利でした。

私はこれをちょっと前に (今更ながら…) Fedora 14 で使う機会があり、便利さを知りました。具体的には、パッケージマネージャー (yum) の
  • /etc/yum.repos.d/
    • fedora.repo
    • fedora-update.repo
    • fedora-debuginfo.repo
(で合ってたかな…?) という、各設定ファイルをいじった時です。
私が使用した環境では、yum は .repo ファイルがあれば設定を読む, なければ読まないという動作をしました。このため、例えば "全ての設定を読み込みたくなかった" 場合は (ファイルを削除する手もありましたが、いずれ元に戻したくなりそうと考えて) 3つリネームすることにしました。

この時の使い方は、確か
rename <修正前の名前> <修正後の名前> <対象ファイル>
だった気がします。つまり
# cd /etc/yum.repos.d
# rename repo repo.bak *repo
としたら、全ファイルの拡張子が .repo.bak にリネームされたように記憶しています。おかげで、作業の時間がちょっと短縮され、リネームミスの心配もなくなりました。

今日、ふと "Debian でも同じかな?" と思って確認したら、違ってました。perl を使ったもののようで、使い方は
rename <perl正規表現> <対象ファイル>
でした。同じコマンド名でも、色々違いがあるようです。便利なコマンドですが、使用方法に違いがあることに注意しなければいけませんね。(特に、インストールスクリプトで使用していたり、ログローテートのスクリプトを書いてたりすると、ディストによっては動かないでしょうから)

コメント

このブログの人気の投稿

Salesforce の pageBlockTable のヘッダー行クリックでソートする方法

[PC] nx4820 と Debian と無線LAN (2/3)

MAMMUT Rock Pro SE (black 28L) は通勤にもすごく良さげ