imprima linhas antes de um padrão até que um novo padrão seja encontrado [duplicado]

0

Primeiro, deve-se aplicar Pattern_A, depois imprimir todas as linhas antes de Pattern_A até que Pattern_B seja encontrado (então, basicamente, deve-se procurar para trás)

line1 line2 line3 line4 Pattern_B line5 line6 line7 line8 Pattern_A line9 line10 line11 Pattern_B line12 line13 line14 line15 Pattern_A line16 line17 .... .... ....

Eu quero que a saída seja assim:

Pattern_B line5 line6 line7 line8 Pattern_A Pattern_B line12 line13 line14 line15 Pattern_A

    
por Nani 10.10.2018 / 18:42

1 resposta

0

Sempre que ouço "fazer algo ao contrário", penso: inverta a entrada e faça algo "normalmente" e, em seguida, inverta os resultados:

tac file | sed -n '/Pattern_A/,/Pattern_B/p' | tac

No entanto, neste caso, os mesmos resultados ocorrem de "pesquisa do padrão B ao padrão A"

sed -n '/Pattern_B/,/Pattern_A/p' file
    
por 10.10.2018 / 18:58

Tags