Не объединяйте контекст непрерывных совпадений с grep

Если я запускаю 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 ....

8
задан Brian Tompsett - 汤莱恩 12 June 2015 в 18:02
поделиться