Solaris + ordenar archivos según fecha y hora mediante comando de clasificación

Solaris + ordenar archivos según fecha y hora mediante comando de clasificación

Tengo una lista que se creó en /var/tmp/file.txt desde algún script (en la máquina Solaris). La siguiente lista tiene 4 campos.

Por favor indique cómo ordenar la lista de acuerdo con la siguiente MARCA DE TIEMPO (mediante el comando de clasificación u otro comando de Solaris como awk o sed...)

por ejemplo, la fecha y hora 15-10-2009 08:29:18 debería ser anterior al 15-10-2009 08:29:10... etc.

ejemplo de file.txt (archivo no ordenado)

  PHONE_NUMBER         TIMESTAMP                   ID  TYPE
  -------------------- -------------------        ---- -------------- 
  972544111222         15-10-2009 08:29:18         20  sharp_gx10
  33633333333          24-09-2009 16:17:45         20  other_mm_phone
  841990000043         08-10-2009 09:04:38         60  other_mm_phone
  972541230001         08-10-2009 14:23:48         20  other_mm_phone

Respuesta1

Como dije en un comentario, el formato de marca de tiempo hace que mi enfoque parezca complicado, pero es principalmente una repetición mecánica.

awk 'NR>2 {print $1"-"$2"-"$3"-"$4"-"$5}' file.txt |\
awk -F'-' '{print $4"-"$3"-"$2"-"$5"-"$1"-"$6"-"$7}' |\
sort |\
awk -F'-' '{print $5"\t"$1"-"$2"-"$3" "$4"\t"$6"\t"$7}'
  1. Omita las dos primeras líneas (solo un encabezado) y transforme las líneas restantes para usar un solo delimitador (guión en este caso, asegúrese de que no esté permitido aparecer en el último campo) (originalmente alterna entre espacios en blanco y guión, debido a el formato de fecha),
  2. dividir los campos con un guión y mover la fecha al principio de la línea (para facilitar su uso con sort) e imprimirla en formato descendente,
  3. ordenar y
  4. Vuelva a imprimir la información en un formato similar a la entrada (intercambie $1y $3obtenga el formato de fecha anterior).

Agregue las líneas del encabezado nuevamente después si las desea.


EDITAR: Vi que querías una ordenación inversa. Simplemente cambie sorta sort -r.

información relacionada