shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Ordenar linhas com campos do tipo data


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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]