我一般使用下面的命令来匹配模式
find . -maxdepth 1 -regextype posix-egrep -regex '.*/{pattern}'
Run Code Online (Sandbox Code Playgroud)
但是,例如,当我尝试使用前瞻时,虽然在我使用 gSkinner 等网站时可以正常工作,但不会返回任何结果
find . -maxdepth 1 -regextype posix-egrep -regex '.*/Linux(?=W).*'
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
slh*_*hck 17
find(GNU 和 BSD 变体)不支持前瞻/后视。GNUgrep 仅支持 POSIX 基本和扩展正则表达式变体以及其他几个变体。
Lookahead 和 lookbehind 是 Perl 风格的正则表达式元素,所以你必须直接使用 Perl,或者 GNUgrep与-P选项,然后解释 Perl regex。