使用grep,可以打印与您的搜索查询匹配的行。添加-C
选项将打印周围上下文的两行,这样的:使用grep仅打印上下文
> grep -C 2 'lorem'
some context
some other context
**lorem ipsum**
another line
yet another line
类似地,可以使用grep -B 2
或grep -A 2
打印匹配的行与两个前面的或两个以下行,分别,例如:
> grep -A 2 'lorem'
**lorem ipsum**
another line
yet another line
是否可以跳过匹配行并仅打印上下文?具体来说,我想只能打印这正是2行以上的匹配行,像这样:
> <some magic command>
some context
不在我所知道的'grep'中。使用'awk'就像这样:[用sed或awk打印一行符合匹配模式](http://stackoverflow.com/a/17914105/1983854) – fedorqui
@fedorqui这适用于以下行,但我可以修改它获得前面的几行?以前从未使用过awk。 – rrrafalsz
使用'tac'向后打印文件。 – fedorqui