Extrai partes do texto usando sed, awk

0

Eu abaixo do texto, como posso extrair a lista

[83472, 8327489] e abcd: 32324?

[83472, 8327489]abcd: 32324Expr bla bla
[243fd]abcd: 4342Expr ieddsk
[2324, 34543, 8937423]abcd: 3232432423423Expr bla bla
    
por Novice User 01.09.2016 / 21:14

2 respostas

2
sed -E 's/(\[[^]]*\]abcd:[[:blank:]]*[[:digit:]]*).*//' file

deve fazer isso.

Saída de amostra

[83472, 8327489]abcd: 32324
[243fd]abcd: 4342
[2324, 34543, 8937423]abcd: 3232432423423
    
por 01.09.2016 / 21:19
0

Com grep e pcre

1) para extrair até, mas não incluindo Expr e restante da linha

$ grep -oP '.*(?=Expr)' file
[83472, 8327489]abcd: 32324
[243fd]abcd: 4342
[2324, 34543, 8937423]abcd: 3232432423423

2) para extrair [...]abcd: numbers

$ grep -oP '\[[^]]*\]abcd:\s*\d+' file
[83472, 8327489]abcd: 32324
[243fd]abcd: 4342
[2324, 34543, 8937423]abcd: 3232432423423
    
por 02.09.2016 / 05:05