Tengo un archivo 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
Quiero reemplazar todos los puntos .
en la segunda columna con una coma ,
como lo haría con sed 's/\./\,/g' file
cómo puedo usar sed
o preferiblemente awk
para aplicar esto solo para la segunda columna, por lo que mi salida se vería así:
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
fuente
fuente
reemplazar la tercera ocurrencia del punto
fuente
cat
... ¿Por qué no solosed 's/\./,/3' file
? (Además, no es necesario escapar de la coma.)cat
No sería necesariamente inútil aquí. Permitiría que la operación use 2 núcleos.cat
, aparte de usar recursos? Tal vez para proporcionar un buffer poco, pero luego esta intención debe ser mejor expresada por una herramienta comobuffer
que porcat
.Hecho por el siguiente método usando awk
Mando:
awk -F ";" '{gsub(/\./,",",$2);print $1";"$2";"$3}' filename
salida
fuente