|
From: | Julio C. Neves |
Subject: | Re: [shell-script] Ordenar linhas com campos do tipo data |
Date: | Fri, 4 Jul 2014 22:30:58 -0300 |
Meu 0,01 centavo.Na realidade o ";" não é um comando em si e sim um separador de comandos. No Exemplo do Júlio ele usou o ";" como delimitador.Abraços
Em 4 de julho de 2014 10:51, Luiz Roberto address@hidden [shell-script] <address@hidden> escreveu:
Mestre, entendi o problema. Só realcei aqui na lista que para o ; significa que podemos dar vários comandos em uma única linha. Ex:
date;pwd;cal
E para manipular um arq. Que contenha separador ; (que é este o caso), temos que incluir o "\" para que o SO entenda que é um caracter normal. O resto vc explicou, como sempre, "nos miiiinimos detalhes"... RS. AbsEm 04/07/2014 10:18, "'Julio C. Neves' address@hidden [shell-script]" <address@hidden> escreveu:Luiz Roberto Ferreira falou e disse:Não atentei no ";" e no "-k2,3"
Luiz, se vc reparar, verá que temos um campo texto, um ponto e vírgula (;), um campo data, outro ponto e vírgula (;) e um campo hora. Assim sendo, o -t\; diz que o separador de campos é o ponto e vírgula (;) e o -k2,3 diz para ele classificar pelo campo 2 (data) e depois pelo campo 3 (hora).Pensei que as dúvidas surgiriam acerca do sed, que é meio doidão...Em 4 de julho de 2014 09:54, Luiz Roberto Ferreira address@hidden [shell-script] <address@hidden> escreveu:
Você é o cara! Não atentei no ";" e no "-k2,3". Só reafirmando aqui no grupo (novatos) de que o ";" é um comando do Linux/Unix e o "-k" subtende-se chave.
Em 04/07/2014 09:09, "'Julio C. Neves' address@hidden [shell-script]" <address@hidden> escreveu:
Estavas sumido, heiiim!Acho mais fácil entender e fazer invertendo a data com um sed, classificando e "desinvertendo". Veja:$ echo "Carregador ligado;25/06/14;09:08:21Auto teste bateria;02/07/14;10:00:04Carregador deslig;02/07/14;10:01:01arregador ligado;25/06/14;09:08:21Carregador ligado;25/06/14;09:08:21" | 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|'arregador ligado;25/06/14;09:08:21Carregador ligado;25/06/14;09:08:21Carregador ligado;25/06/14;09:08:21Auto teste bateria;02/07/14;10:00:04Carregador deslig;02/07/14;10:01:01
Em 4 de julho de 2014 07:11, address@hidden [shell-script] <address@hidden> escreveu:
Mestres,
Já tentei de tudo mas não consegui chegar a uma solução perfeita (awk, sort e afins).
Tenho o seguinte arquivo:
Carregador ligado;25/06/14;09:08:21
Auto teste bateria;02/07/14;10:00:04
Carregador deslig;02/07/14;10:01:01
arregador ligado;25/06/14;09:08:21
Carregador ligado;25/06/14;09:08:21
Preciso ordenar (crescente) , de forma que fique assim:
arregador ligado;25/06/14;09:08:21
Carregador ligado;25/06/14;09:08:21
Carregador ligado;25/06/14;09:08:21
Auto teste bateria;02/07/14;10:00:04
Carregador deslig;02/07/14;10:01:01
O arquivo tem mais de 500 linhas
Podem dar uma força?
Grato desde já.
PS: Vai Brasil!!!!!!!
Diramos
[Prev in Thread] Current Thread [Next in Thread]
- Re: [shell-script] Ordenar linhas com campos do tipo data, Luiz Roberto, 2014/07/04
- Re: [shell-script] Ordenar linhas com campos do tipo data, Ernander (Nander), 2014/07/04
- Re: [shell-script] Ordenar linhas com campos do tipo data, Julio C. Neves <=
- Re: [shell-script] Ordenar linhas com campos do tipo data, Ernander (Nander), 2014/07/04
- Re: [shell-script] Ordenar linhas com campos do tipo data, Luiz Roberto, 2014/07/04
- Re: [shell-script] Ordenar linhas com campos do tipo data, Luiz Roberto, 2014/07/08
- Prev by Date: Re: [shell-script] Ordenar linhas com campos do tipo data
- Next by Date: Re: [shell-script] Ordenar linhas com campos do tipo data
- Previous by thread: Re: [shell-script] Ordenar linhas com campos do tipo data
- Next by thread: Re: [shell-script] Ordenar linhas com campos do tipo data
- Index(es):