
我在腳本中使用 inotifywait 並想知道是否有辦法排除隱藏檔案被監視?
我似乎無法確定排除隱藏檔案的正規表示式模式。
答案1
我假設您指的是以點 ( .
) 開頭的檔案名,您可以忽略它們。問題inotifywait --exclude
是該模式似乎與文件的完整路徑匹配,因此您需要考慮到這一點。
因此,如果您提供inotifywait
目錄foo
並bar
進行監視,則模式將與檔案名稱匹配,例如foo/something
, bar/somethingelse
。像在正規表示式中一樣,您需要轉義點。
這應該監視當前目錄中除點文件之外的所有創建(它是正則表達式,因此我們需要轉義點):
inotifywait -ecreate -m --exclude '^\./\.' .
或者,更具體地說,透過尋找斜線和點的組合來排除任何目錄中的點檔案:
inotifywait -ecreate -m --exclude '/\.' foo bar
當然,如果您正在查看路徑的某些部分帶有前導點的目錄,那麼這將不起作用;它將匹配該路徑中的所有內容。