Я хочу отфильтровать несколько строк до и после соответствующей строки в файле.
Это приведет к удалению строки, которую я не хочу:
$ grep -v "line that i don't want"
И это напечатает две строки до и после строки, которую я не хочу:
$ grep -C 2 "line that i don't want"
Но когда я их совмещаю, он не отфильтровывает 2 строки до и после строки, которую я не хочу:
# does not remove 2 lines before and after the line I don't want:
$ grep -v -C 2 "line that i don't want"
Как отфильтровать не только строку, которую я не хочу, но и строки до и после нее? Я предполагаю, что sed
будет лучше для этого...
Изменить: я знаю, что это можно сделать в нескольких строках awk/Perl/Python/Ruby/etc, но я хочу знать, есть ли один лайнер, который можно выполнить из командной строки.