-v选项在grep

时间:2018-05-07 17:26:04

标签: regex linux bash scripting grep

让我们说输入是:

Something 
abcdefg
wordwordwordword
sjsjfifdsjifdsojs

我目前有这样的代码:grep --no-group-separator -A 1 "Something",可正确打印

Something
abcdefg

但是当我添加-v来反转输出(grep --no-group-separator -vA 1 "Something")时,它会输出整个输入,包括“Something”和“abcdefg”,而不仅仅是打印

wordwordwordword
sjsjfifdsjifdsojs

我尝试将-v放在不同的地方,但它仍然无效。我做错了什么?

2 个答案:

答案 0 :(得分:1)

我相信以下内容可以解决问题:

grep -v "$(grep -A1 Something your_file)" your_file

答案 1 :(得分:-1)

我认为发生的事情是"之前的一线"不匹配的东西。因此下一行是"某事"也打印出来。 (因为-A 1)