Classiclll's Blog

an old boy

改良!Proce55ingのための作業自動化(Automator)

イメージ 1

前記事Proce55ingの作品公開のためのAutomatorワークフローを紹介して、最後に
「*実はテキストエディット上の作業も自動化できるんだけど、これはAppleScriptの知識が必要」
と書いた。

で、AppleScriptで強化しようとしたけど、うまく行かない。
 (なんで型無し言語風なのに型があるんだろう)
すぐにめんどくさくなったので、Unixシェルスクリプトの活用に方向転換。
 (最初からそうすれば良かった)
結果として、前記事をちょっと機能強化したので連続投稿。
こんどは、文字列変換まで自動化され、あとは上書き保存するだけでOKになった。
Automatorの作業が終わると置換済みのhtmlが未保存の状態でテキストエディットウィンドウに現れる。

前に置いた五つのアクションのあとに、さらに三つのアクションを追加。キモは二番目。
追加したアクションは、上から順に

テキストエディット書類の内容を取得。(テキストエディットのアクション)
  ーいま開いているテキストエディットの一番上の書類の内容【テキスト】を手元に持ってくる。
シェルスクリプトを実行。(Automatorのアクション)
  ー(上のアクションで得られた)内容【テキスト】をStdInにつないでperlコマンドで内容を置換。
   設定したシェルコマンドは、perl -pe 's/55px/90px/g; s/60px/90px/g; s/.pde/.txt/g'
テキストエディット書類の内容を配置。(ちょっと日本語訳が変。「内容に反映」が正しそう)
  ー(上のアクションで得られた)内容【置換済みテキスト】で書類の内容を置き換え。

こんだけ

OSXUnixだってことを忘れていた!シェルコマンドを知ってると、いろんなことが出来そう。
一連の作業はシェルスクリプトだけで自動化出来るんだけど、やっぱMacGUIでしょ。(って負け惜しみ)

AutomatorのTips】
アプリケーション形式で保存しちゃうと、ダブルクリックで編集できなくなる。(アプリケーションだから)
でも、Automatorへドロップするか、Automatorから「開く」と編集できる。