Dar formato a datos de una columna
Publicado por Jdomgo3 (15 intervenciones) el 05/01/2012 10:30:45
Tengo un fichero.txt que contiene:
Son filas que contienen columnas separadas por ";". El contenido de la primera, segunda y tercera columna es alfanumérico.
Pero el contenido de las columnas 4 y 5 son fechas con formato "mes día hh:mm:ss año".
Lo que necesito hacer es, de algún modo con awk o con sed o con lo que sea, sustituír el contenido de las columnas 4 y 5, de modo que quede así:
Ojo, necesito variar el orden del formato de fecha para tenga el formato "día/mes/año" y eliminar la hora, que no lo necesito.
Se me ocurre lo sigueinte:
Pero esto solo me modifica el contenido de la columna 5 y no me muestra el contenido de las demás columnas. ¿Como podíria hacerlo?
Un saludo y gracias de antemano.
1
2
3
aaaaa1;bbbbb2;ccccc3;01 20 08:59:05 2011;01 20 08:59:05 2012
aaaaa1;bbbbb2;ccccc3;07 30 22:43:54 2003;10 13 22:43:54 2021
aaaaa1;bbbbb2;ccccc3;07 30 22:39:20 2003;10 13 22:39:20 2021
Son filas que contienen columnas separadas por ";". El contenido de la primera, segunda y tercera columna es alfanumérico.
Pero el contenido de las columnas 4 y 5 son fechas con formato "mes día hh:mm:ss año".
Lo que necesito hacer es, de algún modo con awk o con sed o con lo que sea, sustituír el contenido de las columnas 4 y 5, de modo que quede así:
1
2
3
aaaaa1;bbbbb2;ccccc3;20/01/2011;20/01/2012
aaaaa1;bbbbb2;ccccc3;30/07/2003;13/10/2021
aaaaa1;bbbbb2;ccccc3;30/07/2003;13/10/2021
Ojo, necesito variar el orden del formato de fecha para tenga el formato "día/mes/año" y eliminar la hora, que no lo necesito.
Se me ocurre lo sigueinte:
1
cat fichero.txt | awk -F";" '{print $5}' | nawk -F" " '{print $2"/"$1"/"$4}'
Pero esto solo me modifica el contenido de la columna 5 y no me muestra el contenido de las demás columnas. ¿Como podíria hacerlo?
Un saludo y gracias de antemano.
Valora esta pregunta
0