日々の記録

アニメと読書の感想をメインにしたブログです。 ☆ゆるゆるっと更新中です☆

Top Page › コンピュータ › Mac › OS X の ファイル検索ではまった話^^;
2015-06-13 (Sat) 00:16

OS X の ファイル検索ではまった話^^;

ブラウザやメーラーは GUI アプリを使っていますが、日常的な文書作成やプログラミングでは、いまだにターミナルを使うことが多いです。このところよくやるのが、find コマンドと grep を利用して iTunes ライブラリに登録した音楽を検索することです。

find ~/Music/iTunes/iTunes\ Music -maxdepth 2 | grep "真綾"

とかすると、坂本真綾さんのアルバム名が表示されます。(^^;

ところが最近「ガールズ&パンツァー」のアルバムを検索したら、なぜか検索できないことに気がつきました。実行したコマンドは、こんな感じです。

find ~/Music/iTunes/iTunes\ Music -maxdepth 2 | grep "ガールズ"

なぜだろうと思っていろいろと調べたら、OS X のファイルシステムであるHFS+が関係していることがわかりました。
OS X では UTF-8 という文字コードが使われているのですが、HFS+ のファイル名の正規化方法が Windows や Linux とは違うらしいのです。

具体的には、Windows などでは"ガールズ"の「ガ」は1文字として扱われますが、OS X の HFS+ では「カ」と濁点の「"」という組み合わせとして扱われます。今回のケースでは、「ガールズ&パンツァー」のファイル名の中に組み合わせて表現される文字が含まれていたため、うまく検索できなかったのでした。

でも、この問題は OS X の iconv コマンドを使うことでクリアできました。先ほどの例に、iconv を加えて・・・

find ~/Music/iTunes/iTunes\ Music -maxdepth 2 | iconv -f UTF-8-MAC -t utf-8 | grep "ガールズ"

だと、ようやく検索できました。・・・とはいえ、iconv では失敗するケースもあるようなので、nkf コマンドを Homebrewなどでインストールして、「nkf -wLu --ic=utf8-mac」とかする方がいいみたいです。

find ~/Music/iTunes/iTunes\ Music -maxdepth 2 | nkf -wLu --ic=utf8-mac | grep "ガールズ"


今回のトラブルでは・・・
UTF-8-MAC なんていう文字コードはありません」ものかの様
UTF-8にもいろいろある」ザリガニが見ていた...。様
・・・の情報を参考にさせていただきました。ありがとうございました。

最終更新日 : 2015-06-13

Comment







管理者にだけ表示を許可