Tengo un archivo de registro, guardado con una fecha particular. Quiero recuperar entradas de registro durante un intervalo de tiempo y fecha particular a otro archivo.
Ej: todas las entradas desde el 2014-12-04 00:00:00 hora hasta el 2014-12-04 17:00:00
linux
unix
solaris-10
gaurav
fuente
fuente
egrep
elimina los valores que comienzan con08
o09
(es decir, los tiempos entre08:00
y09:59
), y el segundo permite17:10
,17:20
,17:30
, etc ..., para conseguir a través.egrep "2014-12-04 (0[0-9]|1[0-6]|17:00:00)"
.Si desea un intervalo de registros de 4 minutos,
devolverá todas las líneas de registro entre las 16:35 y las 16:39 el 01 / abr / 2014.
Supongamos que necesita los últimos 5 días a partir del 17 / Sep / 2014, puede usar lo siguiente:
Espero que esto ayude,
fuente
Puede seleccionar una línea de inicio y una línea final con, por ejemplo
sed
:Esto imprimirá todas las líneas desde la primera línea con
Dec 5 11:00
hasta (e incluyendo) la primera línea conDec 5 12:00
. Esto supone que el registro es secuencial en el tiempo (es decir, todas las líneas están en orden de tiempo). El-n
es suprimir la acción predeterminada de imprimir cada línea.fuente
Dec 5 11:00
yDec 5 12:00
, ¿no? SiDec 5 10:59
es seguido inmediatamenteDec 5 11:01
, entoncessed
no sabrá por dónde empezar. Y si hay unDec 5 11:00
, pero luegoDec 5 11:59
lo sigueDec 5 12:01
,sed
no sabré dónde parar.:00
parte, pero de nuevo tendría que haber al menos una línea de registro por hora. Personalmente, adaptaría el script para que se ajuste a los datos; tal vez incluso aplicar algo de perl foo.