linhas grep correspondentes a um padrão e as linhas antes e depois da correspondência até um padrão diferente
Start_pattern
abc
d End_pattern
Start_pattern
abc
d
ef
ghij
klm
no End_pattern
Start_pattern
abc
def
hij End_pattern
Start_pattern
abc
dhi
jklm End_pattern
Saída desejada:
Para imprimir linhas entreStart_pattern
IncluindoSearch_pattern
End_pattern
Padrão inicial e final, inclusive.
Start_pattern
abc
d
ef
ghij
klm
no End_pattern
Start_pattern
abc
def
hij End_pattern
No arquivo acima, eu quero procurar"ef"
e imprimir linhas entre"Strat_pattern"
e"End_pattern"
.
grep -B[NUM] and -A[NUM]
que não são úteis, pois pode haver um número desconhecido de linhas entre o padrão de pesquisa "gef" e "Start_pattern" e "End_pattern".grep
, sed
, awk
qualquer coisa bem-vinda. preferencialmente um forro.sed -n '/BEGIN/,/END/p' *
trabalha para imprimir linhas entreSearch_pattern
qual é"def"
eEnd_pattern
. mas não sou capaz de imprimir linhas entreStart_pattern
e"def"
Vários arquivos presentes com várias ocorrências de search_pattern