【发布时间】:2011-04-21 21:46:19
【问题描述】:
我想过滤掉文件中匹配行前后的几行。
这将删除我不想要的行:
$ grep -v "line that i don't want"
这将打印我不想要的行之前和之后的 2 行:
$ 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 中完成,但我想知道是否有一个简洁的单行代码可以从命令行运行。
【问题讨论】: