Para combinar dados usando o gawk

0

aqui meus dados: Exemplos:

454|12 13 |Peoples Telephone (China Mobile Hong Kong)|0.0118
454|06 15 17 |SmarTone Mobile Comms (P Plus)|0.0412

im bastante unix / linux. Posso saber se há algum comando para que eu possa preencher os dados conforme abaixo:

45412 |Peoples Telephone (China Mobile Hong Kong)|0.0118
45413 |Peoples Telephone (China Mobile Hong Kong)|0.0118
45406 |SmarTone Mobile Comms (P Plus)|0.0412
45415 |SmarTone Mobile Comms (P Plus)|0.0412
45417 |SmarTone Mobile Comms (P Plus)|0.0412

Estou usando o comando gawk para imprimir a primeira parte

( gawk 'BEGIN{FS="|"}{print $1}'

mas não conseguiu combinar com cada quebra. Precisa da sua ajuda.

    
por Amir 21.09.2016 / 12:02

1 resposta

0
gawk 'BEGIN{FS="|"}{n=split($2,a," "); for (i = 1; i <=n ; i++) printf "%s%s|%s|%s\n", $1,a[i],$3,$4;}'
    
por 21.09.2016 / 12:15