11月 1, 2009

ヤマダ電機

昨日、仕事帰りに池袋のヤマハに寄り、Smart Mediaに入っていたレジストデータをUSBメモリーに移動してもらった。駅に戻る道すがら、そう言えばヤマダ電機が東口に大規模店舗を開店させるとか宣伝していたけど、東口にそんな場所ってあったかしらん、と訝りつつ明治通りを渡りながら周りを見回してみた。あれま、そうか、三越が閉店したところが結局ヤマダ電機になってしまったんですね。なるほど・・・。

しかし・・・こう大型家電の店ばかり何店も軒を並べてもねえ。結局のところ、そうは違わないだろうしねえ。

TeX文書の文字コードを一括してUTF8に変換する

[ 備忘録 ] 以前のMac OS 9とかの頃には、フォルダーをドラッグ&ドロップすれば、それに含まれる文書の文字コードやら行末コードを一括して変換してくれるツールがあった。Mac OS Xでも似たようなツールがありそうなはず・・・と検索したが、一つだけ見つかったそのツールはTeX文書の変換には使えないことが分かった。だって、バックスラッシュをすべてユニコードの円マークに変換してしまうのだから 👿 。

やれやれ、どうしたものかとあれこれ検索。すると、ターミナルからUNIXのツールを組み合わせれば、簡単に実現できることを知る。nkf を用いて、カレント・ディレクトリー内のすべてのテック文書をUTF8に変換したことはあったのだが、find と組み合わせてパイプラインで送れば良いのだった。ポイントは xargs を利用すること。具体的には、次のようにする。

find . -name '*.tex' -type f -print | xargs nkf --overwrite -w -Lu

こうすれば、find がカレント以下のサブフォルダーを探索して、拡張子 tex のすべてのファイルを列挙してくれる。それが xargs を通して nkf に渡されるという仕組み。nkf のオプションは、-w でUTF8に、-Lu で行末コードをLF (UNIXの標準、今のマックもこれ)、それから –overwrite で上書きしてタイムスタンプは変えない。

それにしても・・・知識さえあれば、UNIXはかくも便利であるということですな。