grep -C 1 match
: a
b
match1
c
d
e
match2
f
match3
g
我获得了以下输出:
b
match1
c
--
e
match2
f
match3
g
可以看到,由于相邻匹配“match2”和“match3”的上下文重叠,它们被合并了。不过,我更希望针对每个匹配获取一个完整的上下文描述,这可能需要在上下文报告中复制输入中的行。在这种情况下,我的要求是:
b
match1
c
--
e
match2
f
--
f
match3
g
如何最好地实现这一点?我希望解决方案足够通用,以便轻松适应其他 grep 选项(不同的 -A、-B、-C 值或完全不同的标志)。理想情况下,我希望有一种聪明的方式可以仅使用 grep 来做到这一点....
grep
使用进行调整。仅因为缺少此选项而不得不以简单的方式重新实现匹配(grep
以非常聪明的方式实现了它),这感觉不够令人满意。无论如何,感谢您的建议! - a3nm