私はスクリプトでinotifywaitを使用していますが、隠されたファイルを監視しないように除外する方法があるかどうか疑問に思います。
隠されたファイルを除外する正規表現パターンを見つけることができないようです。
答え1
.
ドット()で始まるファイル名に言及しているとします。これを無視しても構いません。問題はinotifywait --exclude
、パターンがファイルのフルパスと一致しているように見えるため、これを考慮する必要があることです。
inotifywait
したがって、ディレクトリを提供しfoo
てbar
監視すると、パターンはファイル名と一致します(たとえばfoo/something
、bar/somethingelse
.正規表現と同様にエスケープポイントが必要です。
これは、ドットファイルを除いて現在のディレクトリのすべての作成を監視する必要があります(正規表現なので、ドットをエスケープする必要があります)。
inotifywait -ecreate -m --exclude '^\./\.' .
あるいは、より具体的には、スラッシュとドットの組み合わせを見つけて、すべてのディレクトリからドットファイルを除外します。
inotifywait -ecreate -m --exclude '/\.' foo bar
もちろん、パスの一部にドットがあるディレクトリを表示しても機能しません。そのパスのすべてのエントリと一致します。