Encontre e substitua dot com texto na coluna1 usando gawk ou awk

0

Eu tenho um csv da seguinte forma

1.2kbps,link1,description
1.2mbps,link2,description

Eu gostaria de encontrar e substituir

a) ponto e kbps com 000 na coluna1

b) ponto e mbps com 000000 na coluna1  usando o gawk ou o awk e a saída deve parecer com o seguinte

12000,link1,description
12000000,link2,description

Eu prefiro o Gawk, mas posso usar exemplos de awk e brincar com ele

Obrigado

    
por Programmingnewbie 03.07.2017 / 23:40

2 respostas

0

Isso deve resolver seu problema:

awk -F, '
         BEGIN{OFS=FS}
         /kbps/{gsub("kbps","",$1);$1=$1*1000};
         /mbps/{gsub("mbps","",$1);$1=$1*1000000}
         1' file.csv
    
por 04.07.2017 / 00:35
0

Tente isto (testado contra o GNU Awk 3.1.7):

awk '{sub(/\./,"");sub(/kbps/,"000");sub(/mbps/,"000000")}1' foo.csv
    
por 03.07.2017 / 23:59

Tags