俺メモ



ファイルの中身ではなく、ファイル名そのものの文字コードを変換するには、convmv<a class="keyword" href="http://d.hatena.ne.jp/keyword/convmv?mode=edit" rel="nofollow">?</a>というコマンドを使う。



正直言って、コマンドの名前さえ分かれば、後はググるなりmanするなり何なりすれば万事オッケーなのだが、とりあえずメモしておく。



コマンド自体は大抵、各システムのパッケージ管理システムから問題なくインストールできるはず。



使い方は-fオプションに元の文字コードを、-tに変換先の文字コードを指定し、ファイル名を続けるだけ。



今回やりたいことの性質上、化けまくってるファイルの名前を一生懸命タイプするよりは、あるディレクトリ配下をアスタリスクで指定するのがまあ普通。



コマンド実行イメージ。
  $ convmv -f euc-jp -t utf8 *



  (略)



  No changes to your files done. Use -notest to finally rename the files.
実はこれだけでは実際に変換は行われず、単に変換後のイメージを表示するだけ。実際に変換するには、メッセージの通り、-notestをつけて実行する。
  $ convmv -notest -f euc-jp -t utf8 *



  (略)
サブディレクトリまで再帰的に実行したいときは、お決まりの-rオプションをつける。



また、convmv -listとすれば、指定できる文字コード一覧が表示される。



が、実際に使うのは下記3つだろう。
  euc-jp, utf8, shiftjis