Eu tenho um arquivo assim:
2018.01.02;1.5;comment 1
2018.01.04;2.75;comment 2
2018.01.07;5.25;comment 4
2018.01.09;1.25;comment 7
Eu quero substituir todos os pontos .
na segunda coluna por uma vírgula ,
como eu faria com sed 's/\./\,/g' file
como posso usar sed
ou de preferência awk
aplicar isso apenas para a segunda coluna, então minha saída ficaria assim:
2018.01.02;1,5;comment 1
2018.01.04;2,75;comment 2
2018.01.07;5,25;comment 4
2018.01.09;1,25;comment 7
BEGIN{}
este bloco de código será executado antes de processar qualquer linha de entradaFS=OFS=";"
defina o separador de campo de entrada e saída como;
gsub(/\./, ",", $2)
para cada linha de entrada, substitua todo o.
no 2º campo por,
1
é um idioma awk para imprimir o conteúdo$0
(que contém o registro de entrada)substitua a terceira ocorrência do ponto
Feito pelo método abaixo usando awk
Comando:
awk -F ";" '{gsub(/\./,",",$2);print $1";"$2";"$3}' filename
resultado