inotifywait 排除檔案類型

inotifywait 排除檔案類型

我在腳本中使用 inotifywait 並想知道是否有辦法排除隱藏檔案被監視?

我似乎無法確定排除隱藏檔案的正規表示式模式。

答案1

我假設您指的是以點 ( .) 開頭的檔案名,您可以忽略它們。問題inotifywait --exclude是該模式似乎與文件的完整路徑匹配,因此您需要考慮到這一點。

因此,如果您提供inotifywait目錄foobar進行監視,則模式將與檔案名稱匹配,例如foo/something, bar/somethingelse。像在正規表示式中一樣,您需要轉義點。

這應該監視當前目錄中除點文件之外的所有創建(它是正則表達式,因此我們需要轉義點):

inotifywait -ecreate -m --exclude '^\./\.' .

或者,更具體地說,透過尋找斜線和點的組合來排除任何目錄中的點檔案:

inotifywait -ecreate -m --exclude '/\.' foo bar

當然,如果您正在查看路徑的某些部分帶有前導點的目錄,那麼這將不起作用;它將匹配該路徑中的所有內容。

相關內容