使用负前瞻查找 --regex

使用负前瞻查找 --regex

问题

我尝试实施一个负前瞻当像这样搜索文件时locate

locate --regex "apple(?!t)"

但是我收到以下错误,因为似乎正在进行一些替换:

定位:无效的正则表达式“apple(?touch Latex_preamble.tex)”:前面的正则表达式无效

我怎样才能做到这一点?我也尝试apple(?!t)apple(?!t)

笔记:我知道我可以这样做:

locate apple | grep -v applet

但我想知道如何让正则表达式发挥作用。

答案1

和的实现有多种locate,我所知道的实现要么需要 POSIX 扩展正则表达式,要么需要 POSIX 基本正则表达式。都不支持前瞻。

相关内容