|
From: | diramos |
Subject: | Re: [shell-script] Ordenar linhas com campos do tipo data |
Date: | 04 Jul 2014 08:55:53 -0700 |
Mestre Julio,
Sua dica pareceu resolver meu problema.
Mas esmiuçando o resultado, notei um problema:
Vai meu arquivo completo:
Baterias OK !;09/06/14;10:02:10
Faltou energia;05/06/14;23:37:54
Faltou energia;05/06/14;23:38:20
Voltou energia;05/06/14;23:38:20
Desligado chave local;05/06/14;23:47:48
Desligado cve local;05/06/14;23:47:48
Voltou energia;05/06/14;23:47:48
Desligado chave local;05/06/14;23:52:38
Ligado chave local;05/06/14;23:52:38
Faltou energia;06/06/14;07:58:12
Ligado chave local;06/06/14;07:58:12
Faltou energia;06/06/14;07:59:13
Voltou energia;06/06/14;07:59:13
Desligado chave local;06/06/14;08:05:14
Voltou energia;06/06/14;08:05:14
Desligado chave local;06/06/14;08:06:46
Ligado chave local;06/06/14;08:06:46
Auto teste de baterias;09/06/14;10:02:00
Ligado chave local;09/06/14;10:02:00
Auto teste de baterias;09/06/14;10:02:10
Baterias OK;09/06/14;10:02:10
Auto testde baterias;16/06/14;10:02:00
Auto teste de baterias;16/06/14;10:02:00
Auto teste de baterias;16/06/14;10:02:10
Auto teste de baterias;23/06/14;10:02:00
Auto teste de baterias;23/06/14;10:02:10
Auto teste de baterias;30/06/14;10:02:05
Auto teste de baterias;30/06/14;10:02:15
Baterias OK !;16/06/14;10:00:00
Baterias OK !;16/06/14;10:02:00
Baterias OK !;16/06/14;10:02:10
Baterias OK !;23/06/14;02:10:00
Baterias OK !;23/06/14;10:02:00
Baterias OK !;23/06/14;10:02:10
Baterias OK !;30/06/14;10:02:05
Baterias OK !;30/06/14;10:02:15
Conforme seus ensinamentos, comandei:
cat meuarquivo.txt | sed -r 's|^([[:alpha:] ]+);([0-9]{2})/([0-9]{2})/([0-9]{2});(.*)$|\1;\4/\3/\2;\5|' | sort -t\; -k2,3 | sed -r 's|^([[:alpha:] ]+);([0-9]{2})/([0-9]{2})/([0-9]{2});(.*)$|\1;\4/\3/\2;\5|'
O retorno:
Baterias OK !;09/06/14;10:02:10
Faltou energia;05/06/14;23:37:54
Faltou energia;05/06/14;23:38:20
Voltou energia;05/06/14;23:38:20
Desligado chave local;05/06/14;23:47:48
Desligado cve local;05/06/14;23:47:48
Voltou energia;05/06/14;23:47:48
Desligado chave local;05/06/14;23:52:38
Ligado chave local;05/06/14;23:52:38
Faltou energia;06/06/14;07:58:12
Ligado chave local;06/06/14;07:58:12
Faltou energia;06/06/14;07:59:13
Voltou energia;06/06/14;07:59:13
Desligado chave local;06/06/14;08:05:14
Voltou energia;06/06/14;08:05:14
Desligado chave local;06/06/14;08:06:46
Ligado chave local;06/06/14;08:06:46
Auto teste de baterias;09/06/14;10:02:00
Ligado chave local;09/06/14;10:02:00
Auto teste de baterias;09/06/14;10:02:10
Baterias OK;09/06/14;10:02:10
Auto testde baterias;16/06/14;10:02:00
Auto teste de baterias;16/06/14;10:02:00
Auto teste de baterias;16/06/14;10:02:10
Auto teste de baterias;23/06/14;10:02:00
Auto teste de baterias;23/06/14;10:02:10
Auto teste de baterias;30/06/14;10:02:05
Auto teste de baterias;30/06/14;10:02:15
Baterias OK !;16/06/14;10:00:00
Baterias OK !;16/06/14;10:02:00
Baterias OK !;16/06/14;10:02:10
Baterias OK !;23/06/14;02:10:00
Baterias OK !;23/06/14;10:02:00
Baterias OK !;23/06/14;10:02:10
Baterias OK !;30/06/14;10:02:05
Baterias OK !;30/06/14;10:02:15
Note que o primeiro e segundo campos estão com datas desordenadas.
Os outro parecem estar certos.
Estou errando em algo?
Grato mais uma vez
Diramos
[Prev in Thread] | Current Thread | [Next in Thread] |