windows 中 git-bash 中使用 find 的正则表达式选项
find 中能够指定 -regex 使用的正则表达式的类型,不指定类型时使用默认的 emacs 正则表达式语法。
你可以通过指定 -regextype 来显示指定使用的正则表达式类型。有如下选择:
[emacs|posix-awk|posix-basic|posix-egrep|posix-extended]
使用 emacs 的正则表达式语法匹配文件名需要注意如下几点:
- 正则表达式全路径匹配,而非单单匹配文件名(通用规则)。
如果你只需要匹配文件名,那么你可以通过在 -name 中指定文件名的通配符来进行匹配, 注意最好将通配符放到引号中(单双引号皆可),另外一种方式是对万用字符进行转义。
-
进行分组匹配时,需要对括号进行转义,类似 sed 中分组的使用。
一个例子如下:
find -regex '.*\(data\)'
上述命令行正则匹配 data 字符串的文件路径
-
使用旁选命令时,需要对 ‘|’ 进行转义
find -reges '.*\(data\|bin\)'
上述命令行正则匹配包含 data 或 bin 的文件路径。