Zim*_*mmy 3 shell-script inotify
我在脚本中使用 inotifywait 并想知道是否有办法将隐藏文件排除在外?
我似乎无法确定排除隐藏文件的正则表达式模式。
我假设您的意思是以点 ( .
)开头的文件名,您可以忽略它们。问题inotifywait --exclude
是该模式似乎与文件的完整路径匹配,因此您需要考虑到这一点。
所以,如果你给inotifywait
的目录foo
和bar
观看,然后将图案对阵像文件名foo/something
,bar/somethingelse
。像在正则表达式中一样,您需要对点进行转义。
这应该监视当前目录中的所有创建,除了点文件(它是一个正则表达式,所以我们需要转义点):
inotifywait -ecreate -m --exclude '^\./\.' .
Run Code Online (Sandbox Code Playgroud)
或者,不太具体,通过查找斜杠和点的组合来排除任何目录中的点文件:
inotifywait -ecreate -m --exclude '/\.' foo bar
Run Code Online (Sandbox Code Playgroud)
当然,如果您正在查看在路径的某些部分带有前导点的目录,那将不起作用;它将匹配该路径中的所有内容。