Extrair seção específica

1

Eu tenho várias seções, cada uma consistindo em várias linhas. por exemplo:

#--- Section 1 ---
Start  
Lookup.mdc|123|xyz|  
String  
End
#--- Section 2 ---
Start  
Lookup.mdc|123|xyz|  
Integer  
End  

Meu requisito é: eu preciso extrair apenas a seção que contém Integer (pesquisa de tipo de dados).

Resultado esperado:

Start  
Lookup.mdc|123|xyz|  
Integer
End
    
por Gaurav Chavan 17.11.2016 / 06:09

1 resposta

1
awk 'BEGIN {RS="^--- Section [0-9]+"} /Integer/ {print}'

e canalize a entrada para ela ou adicione o nome do arquivo ao final.

Você não precisa do {print} , já que essa é a ação padrão, mas eu o coloco para torná-lo mais claro.

O BEGIN é executado antes de a entrada ser processada e define a variável mágica RS (Record Separator) para corresponder à linha que separa registros.

O /Integer/ corresponde registros que contêm Integer.

    
por 17.11.2016 / 06:27