我使用的是fswatch,只希望在修改/创建扩展名为.xxx的文件时触发它。文档和下面的第二个引用表明:
问:用于排除与.xxx扩展名不匹配的所有文件的正则表达式是什么?
参考文献:
平台:
发布于 2016-05-15 11:25:21
我是fswatch作者。这可能不是很直观,但是fswatch包含了所有东西,除非排除过滤器不这么说。您的问题是:您希望包含所有具有给定扩展名的文件。从排除和包容过滤器的角度重新措辞:
ext的文件。这就是:
.*匹配的排除筛选器。ext的文件,需要添加一个包含筛选器,以.ext:\\.ext$结尾的任何路径匹配。在本例中,您需要转义点.以匹配文字点,然后是扩展ext,然后将路径的末尾与$匹配。最后的命令是:
$ fswatch [options] -e ".*" -i "\\.ext$"如果您想要区分大小写的过滤器(例如,匹配eXt、Ext等),只需添加-I选项即可。
发布于 2016-05-15 11:10:57
您可以监视单个扩展名的文件的更改,如:
fswatch -e ".*" -i ".*/[^.]*\\.xxx$" .这将排除所有文件,然后包括以.xxx结尾的所有路径(也排除以点开始的文件)。
如果要对文件更改运行命令,可以添加以下内容:
fswatch -e ".*" -i ".*/[^.]*\\.xxx$" -0 . | xargs -0 -n 1 -I {} echo "File {} changed"https://stackoverflow.com/questions/34713278
复制相似问题