Eu tenho um arquivo como este:
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
Quero substituir todos os pontos .
na segunda coluna por uma vírgula, ,
como faria com sed 's/\./\,/g' file
como posso usar sed
ou, de preferência, awk
aplicar apenas isso à segunda coluna, para que minha saída fique 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
text-processing
awk
sed
nath
fonte
fonte
substituir a terceira ocorrência do ponto
fonte
cat
... Por que não apenassed 's/\./,/3' file
? (Além disso, a vírgula não precisa ser escapado.)cat
não seria necessariamente inútil aqui. Isso permitiria que a operação usasse 2 núcleos.cat
, além de consumir recursos? Talvez para fornecer um pouco de buffer, mas essa intenção deve ser melhor expressa por uma ferramenta como abuffer
quecat
.Feito pelo método abaixo usando awk
Comando:
awk -F ";" '{gsub(/\./,",",$2);print $1";"$2";"$3}' filename
resultado
fonte