如何使用 find 在 Linux 上使用前瞻和后视正则表达式?

Pea*_*key 11 linux regex find

我一般使用下面的命令来匹配模式

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