Tengo un archivo de registro con líneas como esta:
06:06:48.531 9: 157 2492
06:06:49.331 10: 147 2812
...
necesito eliminarsolola tercera ':' en todas las líneas, de modo que el resultado sería:
06:06:48.531 9 157 2492
06:06:49.331 10 147 2812
...
Respuesta1
POSIXLY:
sed -e 's/://3' <file
Respuesta2
El tercer ':' va seguido de un espacio, ¡lo que lo hace diferente a los demás!
sed -i 's/: / /g' logfile
Respuesta3
Una solución extraña:
awk '{ print(gensub(/:/,"",3,$0)) }' logfile
Respuesta4
La versión larga (usando un método que puede ser muy útil cuando uno se cansa y no quiere pensar demasiado...):
sed -e 's/\([^:]*\):\([^:]*\):\([^:]*\):/\1:\2:\3/'