
Estoy usando el siguiente comando para mostrar los datos de registro de los últimos 10 minutos. Funciona bien si el mes permanece igual; sin embargo, cuando se cambia el mes, no muestra ningún dato.
awk -v d1="$D1" -v d2="$D2" '$0 > d1 && $0 < d2 || $0 ~ d2' /home/user.log
Funciona bien si,
D1="Aug 1 12:00:00"
D2="Aug 1 12:10:00"
Pero no muestra ningún dato si,
D1="Jul 31 11:55:00"
D2="Aug 1 00:05:00"
PD: estoy usando AIX
Respuesta1
Creo que eso se debe a que en realidad se comparan las cadenas, no las fechas. Cuando cambia el mes se rompe la comparación.
Intente formatear la fecha de otra manera, tal vez usando el formato de fecha numérica o de época.
date -d "Jul 31 11:55:00" +%s
salidas 1533063300. De manera similar,
date -d "Aug 1 00:05:00" +%s
salidas 1533107100.
Debería ser una comparación fácil a partir de ahí.