Tengo un archivo que contiene esto:
1415602803,LOGIN SUCCESS,AUTH,user2,192.168.203.63,10.146.124.73,59996,22
1415602807,LOGIN SUCCESS,AUTH,user1,172.24.31.10,172.32.1.1,48191,22
1415602811,LOGIN FAILED,AUTH,root,172.24.166.153,10.146.124.73,52506,22
1415602815,LOGIN FAILED,AUTH,user3,192.168.123.55,10.146.32.99,55750,22
Quiero convertir la marca de tiempo a una fecha en este formato:
2014-11-10 02:00:03,LOGIN SUCCESS,AUTH,user2,192.168.203.63,10.146.124.73,59996,22
2014-11-10 02:00:07,LOGIN SUCCESS,AUTH,user1,172.24.31.10,172.32.1.1,48191,22
2014-11-10 02:00:11,LOGIN FAILED,AUTH,root,172.24.166.153,10.146.124.73,52506,22
2014-11-10 02:00:15,LOGIN FAILED,AUTH,user3,192.168.123.55,10.146.32.99,55750,22
¿Cómo puedo hacer eso?
Sé que esto funciona: perl -pe 's/(\d+)/localtime($1)/e'
(de esta pregunta ) pero el formato de salida es Mon Nov 10 02:00:03 2014
.
Sé que este comando se puede convertir marcas de tiempo en mi salida deseada: date -d@1415602803 +"%F %H:%M:%S"
, pero no pude hacer que funcione con awk
el uso system("cmd")
debido a todas las citas y otras cosas.
text-processing
awk
perl
Alaa Ali
fuente
fuente
awk 'BEGIN{ print strftime("%Y-%m-%d %H:%M:%S", 0) }'
daawk: line 2: function strftime never defined
aquí. ¡Por favor aclare que NO TODO AWK tienestrftime()
! Para una solución que se ejecute en la mayoría de los AWK (¿todos?), Utilice eldate
comando externo para mantenerse portátil.date
implementaciones que pueden convertir fechas entre formatos como una extensión, pero la forma en que se realiza varía completamente entre las implementaciones. Por ejemplo, la solución dada por Costas usa una sintaxis específica de GNUdate
. Si quieres portabilidad, úsalaperl
.Si lo desea
awk
, puede usar comandos externosdate
con cualquier formato de fechafuente
strftime()
!También puedes probar:
fuente
Hice una pregunta hace 9 meses que estaba marcada como un duplicado de esta. Acabo de ver una solicitud para publicar la respuesta que funcionó para mí en esta pregunta. Aquí hay un enlace a esa pregunta y respuesta.
/unix//a/304009/172916
fuente