Python: linhas consecutivas entre correspondências semelhantes ao awk
Dado:Uma sequência multilinha
string
(já lido de um arquivofile
)Dois padrõespattern1
epattern2
que corresponderá a uma substring de exatamente uma linhastring
cada. Essas linhas serão chamadas de linha1 e linha2.Os padrões são padrões regex, mas eu posso alterar o formato deles se isso facilitar.
PesquisadoEstou procurando uma maneira de obter todas as linhas entre a linha1 e a linha2 em python (podemos assumir com segurança que a linha1 é anterior à linha2).
Obviamente, isso pode ser feito em um loop for com um sinalizador definido porpattern1
e uma pausa quandopattern2
fósforos. Estou à procura de um maiscompactar solução aqui, no entanto. Este é um guia trivial emawk
:
awk '/pattern1/,/pattern2/' file
Exemplo:Arquivo:
aaa aa a
bbb bb b
ccc cc c
ddd dd d
eee ee e
fff ff f
pattern1:b bb
pattern2:d dd
Resultado desejado:
bbb bb b
ccc cc c
ddd dd d