我的文件编辑器创建前缀为.
的临时文件。
我正在跑步:
watchmedo shell-command -p '*.py' -R -c 'echo "${watch_src_path}"'
我在编辑时看到临时文件的事件,然后是文件保存的两个事件(可能是因为它执行了删除和写入)。
我希望看到一个事件 - 只有当我保存文件时才会这样。
有没有办法让我只使用CLI执行此操作?我对创建python脚本并直接使用watchdog API不感兴趣。
答案 0 :(得分:5)
使用--ignore-patterns
(-i
)开关。
watchmedo shell-command \
-p'*.py' \
-R \
-c'echo "${watch_src_path}"'\
--ignore-patterns="*/.*"
请注意,watchmedo在完整的watch_src_path上匹配,因此您的忽略模式不能像您最初想到的那样简单".*"
。此外,通配符的所有陷阱都是有效的,所以如果你在隐藏的目录/path/to/some/.hidden/dir
中做一些愚蠢的事情,那么你必须有一个更高级的模式。
如果与目录相关的事件也引起你的烦恼,你也可能想要--ignore-directories
(-D
)切换(这个只是布尔值,不需要参数)。