我的文件编辑器创建前缀为…的临时文件.
我在跑步:
watchmedo shell-command -p '*.py' -R -c 'echo "${watch_src_path}"'
当我正在编辑时,我看到临时文件的事件,然后文件保存两个事件(可能是因为它执行了删除和写入).
我想看一个事件 – 只有当我保存文件时.
有没有办法让我只使用CLI执行此操作?我对创建python脚本并直接使用watchdog API不感兴趣.
解决方法:
使用–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)切换如果与目录相关的事件也引起你的烦恼(这个只是布尔值,不需要参数).