我使用script在golang中使用inotifywait自动编译。但是这个脚本只检查扩展名为.go的文件。我还想添加.tmpl扩展名,但脚本使用正则表达式。为了得到理想的结果,我必须对这条线做什么样的修改?

inotifywait -q -m -r -e close_write -e moved_to --exclude '[^g][^o]$' $1

我试过与或&以及其他类似([^T][^M][^P][^L][^G][^O])的内容连接,但似乎没有任何效果。

最佳答案

与其试图使用正则表达式排除两种类型的文件,不如只监视那些文件?

inotifywait -q -m -r -e close_write -e moved_to /path/**/*.{go,tmpl}

要使用**(进行递归匹配),可能需要启用bash的globstar:
shopt -s globstar

10-08 14:20