用于检查前面字符的Bash搜索命令

Mea*_*ell 3 unix bash grep

不确定标题是否措辞正确,但我正在寻找一个bash命令来检查搜索词之前的字符.例如,如果我有一个包含单词列表的文件(lines.txt):

stackoverflow
stack overflow
stack over flow
Run Code Online (Sandbox Code Playgroud)

我需要用于搜索单词的命令over,但不包括stack紧接在其之前的任何结果.所以在上面的例子中只会输入最后两行.

我有grep -i 'over' lines.txt | grep -v 'stackover",但有没有更好的方法/选择写这个?我已经修改了一些其他选项(-E-P),并且一直在阅读负面的前瞻/后方,但无法让NOT部分工作.

cho*_*oba 5

是的,负面的后视应该会有所帮助:

grep -P '(?<!stack)over'
Run Code Online (Sandbox Code Playgroud)