1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

fswatch @OSX

Posted at

こっちではファイルのみを対象にしてたから気付かんかったが、ディレクトリ監視させたら、勝手に子ディレクトリも孫ディレクトリも捕捉してくれやがる。

散々、頭を悩ませて、ソースからインストールしてみたりしたものの、原因不明。

で、ソース内を、

$ find . -type f -exec grep -Hni recursive {} \;

してみたら、しれっと、 ./doc/fswatch.info にこんな事が書いてあった。

5.2.1 Peculiarities

The ('--recursive', '-r') and ('--directories', '-d') options have no
effect when used with the FSEvents monitor since the FSEvents API
already monitors a directory's children by default.1

どーりで勝手に再帰的に見てくれやがるわ、、、

仕方ないので、正規表現で長々と exclude 指定して、
取り逃したのを、スクリプト内で捕捉2

$ fswatch -E -e '\.DS_Store|README|20[0-9][0-9]' /PATH/TO/DIR

これだと、 ゴミ3と、README.txt とかと、 2015 みたいな年号で始まるファイルやディレクトリを無視してくれる。

  1. FSEvents API は OS X での使用する API。l

  2. どーせ、ファイルの追加と削除の区別が付かんから、パイプしてスクリプト内で弄らないとならんし。

  3. 不可視ファイルを一挙に exclude しようとして、 -e '\.|REA... してもダメだった。なして?

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?