Como eu disse em um comentário, o formato timestamp faz minha abordagem parecer complicada, mas é principalmente repetição 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}'
- Ignore as duas primeiras linhas (apenas um cabeçalho) e transforme as linhas restantes para usar um único delimitador (traço, neste caso, verifique se não é permitido aparecer no último campo) (originalmente ele alterna entre espaço em branco e traço , por causa do formato de data),
- divida os campos com traço e mova a data para o início da linha (para facilitar o uso com
sort
) e imprima em um formato decrescente, - classificar e
- imprima as informações em um formato semelhante à entrada (troca
$1
e$3
para obter o formato de data antigo).
Adicione as linhas de cabeçalho depois, se elas forem desejadas.
EDITAR : Eu vi que você queria um tipo inverso. Basta alterar sort
para sort -r
.