BathyScaphe のログファイルをバイナリ→XML形式に変換するために Automator を使用

Mac OS X 10.4 で華々しく登場した Automator だが最近の知名度・人気・実力はどれくらいになっているのだろうか…とりあえず、私の中ではすっかり影が薄くなってしまった。最近はたまにサービスを作成するのに使うくらい。先日など LaunchPad のどこにあるのか*1も一瞬わからなくなってしまった…

今日は、先日必要があって作ったサービスの作成メモを気まぐれに残しておくことにした。それは、バイナリ形式のプロパティリストファイルを XML 形式に変換するためのサービス。作成動機は、BathyScaphe のログファイルにどんな内容が記録されているか自分でテキストエディタ*2で開いてデバッグするためだ*3。これまでは都度都度、ターミナルを起動してコマンドを打っていた。それも手間というほどでもないのだが、いいかげん、何度も繰り返し行っている操作だ…半自動化くらいはしないと愚かであると思い、重い腰を上げたのだ。

新規書類の種類で「サービス」を選択して、「シェルスクリプトを実行」を左のリストからドロップすればいいのはすぐわかるが、肝心のシェルスクリプトの書き方がどうも、まごついてしまった。当てずっぽうで書いてもなかなか当たらず。少し調べまわって、やっと動くようにできた:

これで、Finder で BathyScaphe のログファイルを右クリックして「サービス」メニューからこのワークフローを選べば、静かに中身を変換してくれるようになった。

なお、BathyScaphe のログをXML形式に変換したあとは別にそのまま放っておいてよく*4、そのままログファイルは BathyScaphe で読めるし、読んで閉じればまたバイナリ形式で書き戻されることを申し添えておく。

*1:「その他」の中にいる

*2:CotEditor 一択

*3:すでにご存知のように、BathyScaphe のログファイルはプロパティリスト形式だ。もちろん、BathyScaphe のログファイルは初めからバイナリ形式での保存をオフにすることも「詳細」環境設定で可能だが、基本はバイナリ形式にしておく方が容量が節約でき、読み書きも早いのでおすすめだ

*4:もちろんプロパティリストとしてのデータ構造を物故壊したりしちゃア、ダメダヨ