不确定标题是否措辞正确,但我正在寻找一个bash命令来检查搜索词之前的字符.例如,如果我有一个包含单词列表的文件(lines.txt):
stackoverflow stack overflow stack over flow
我需要用于搜索单词的命令over
,但不包括stack
紧接在其之前的任何结果.所以在上面的例子中只会输入最后两行.
我有grep -i 'over' lines.txt | grep -v 'stackover"
,但有没有更好的方法/选择写这个?我已经修改了一些其他选项(-E
和-P
),并且一直在阅读负面的前瞻/后方,但无法让NOT部分工作.
是的,负面的后视应该会有所帮助:
grep -P '(?<!stack)over'