AutoMator Actionの「Finder項目にフィルタを適用」はキャッシュを持っている(みたい)
遭遇した問題
MacにAutoMatorという作業自動化アプリがあるのだが、
そのAutoMatorで使用できる、
「Finder項目にフィルタを適用」というアクションは、
(おそらく)実行結果のキャッシュを持っていて、
何度も何度も繰り返し処理を実行するような場合、
最新のフィルタリング結果が次のアクションに渡されない。
過去の実行結果が渡ってしまう。
よって、例えば、フォルダーアクションなどで、このフィルタリングを使うと、
・フォルダーにファイルを追加しても検知されない、
・その追加したファイルに対する処理がスルーされる、
などの問題がしばしば発生する。
発生した。
対応方法
この実行結果のキャッシュの問題は、
「Finder項目にフィルタを適用」を「シェルスクリプトを実行」に置き換えて、
シェルスクリプトでフィルタリングしてしまえば解決する。
# 拡張子wavのファイルに絞って、次のアクションに回すシェルスクリプト while read line; do if expr "$line" : ".*.wav$" > /dev/null then echo "$line" >&1 fi done
おわり
案外、この問題には苦戦した。