macos - fswatch 仅监视特定文件扩展名

标签 macos watch fswatch

我正在使用fswatch并且只希望在扩展名为 .xxx 的文件时触发它被修改/创建等。文档和下面的第二个引用表明:

  • 默认情况下接受所有路径,除非排除过滤器另有说明。
  • 包含过滤器可以覆盖任何排除过滤器。
  • 命令行中过滤器定义的顺序无效。

问题:用于排除所有与 .xxx 不匹配的文件的正则表达式是什么?扩展名?

引用文献:

平台:

  • MacOS 10.9.5。

最佳答案

我是 fswatch 作者。它可能不是很直观,但 fswatch 包含一切,除非排除过滤器另有说明。解决您的问题:您想要包含具有给定扩展名的所有文件。用排除和包含过滤器重新表述:

  • 您想要排除所有内容
  • 您想要包含具有给定扩展名 ext 的文件。

即:

  • 要排除所有内容,您可以添加与任何字符串匹配的排除过滤器:.*

  • 要包含具有给定扩展名 ext 的文件,您可以添加一个包含过滤器来匹配任何以 .ext 结尾的路径:\\.ext$ 。在这种情况下,您需要转义点.以匹配文字点,然后转义扩展名ext,然后匹配end 的路径与 $.

最终命令是:

$ fswatch [options] -e ".*" -i "\\.ext$"

如果您想要不区分大小写过滤器(例如匹配eXtExt等),只需添加-I 选项。

关于macos - fswatch 仅监视特定文件扩展名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34713278/

相关文章:

java - Java中如何观察完整文件系统的变化?

macos - 如何使用 FSWatch 在 Mac OSX 上观看文件更改?

linux - 实时 git diff

macos - 如何在mac中从命令行启动docker

macos - 使用 Chrome 在命令行上运行 selenese Selenium 测试

ios - 在 podfile 错误中更新 Alamofire

linux - Linux 上的 inotifywait 是否允许在超时期限内收集事件?

node.js - Docker 容器中 Sailsjs 应用程序的问题

swift - 归档项目后如何访问添加的 pdf 文件并将其复制到用户文档文件夹中?

python - Pycharm调试-使用 watch 保存变量