暮らしの技術

暮らしを豊かにする技術や、特に暮らしを豊かにしない技術があります

fswatchでディレクトリを監視して任意のコマンドを実行する

fswatchコマンドを使うと指定したディレクトリで変更のあったファイルを標準出力に吐いてくれる.fswatchコマンドはkqueueやionotifyを利用したツールで,MAC OS Xを含むUNIX上や,Linux上で動作する.

emcrisostomo/fswatch · GitHub

これを利用すると,指定したディレクトリで変更があった際に自動でbuildする,と言ったようなことが比較的手軽に実現できてお得.

たとえばこういう感じ

fswatch <監視したいディレクトリ> | xargs -n1 -I{} <任意のコマンド>

ファイル名を引数にして渡したいときはxargsの-l{}を消したりすれば良い.詳しくはxargsのマニュアルを見てくれ!!!!

Emacsでファイルとか編集すると一時ファイルとかできるから,現実的には以下のようになると思う.

fswatch <監視したいディレクトリ> | grep -v --line-buffered '#' | xargs -n1 -I{} <任意のコマンド>

便利!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!