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

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

Re: RES: [shell-script] Ordenar relatório por data


From: Aurelio Marinho Jargas
Subject: Re: RES: [shell-script] Ordenar relatório por data
Date: Wed, 10 Nov 2004 15:34:32 -0300 (ART)

alou,

julio, já que você me chamou de sumido, vou meter o
meu bedelho usando uma tática diferente :)

  -t   define o delimitador
  -k   escolhe o campo

lá vai:

$ cat lixo
13/10/2004 200.xxx.xxx.xxx TCP 135
15/09/2004 200.xxx.xxx.xxx TCP 135
26/10/2004 200.xxx.xxx.xxx TCP 135
19/12/2004 200.xxx.xxx.xxx TCP 135
14/10/2004 200.xxx.xxx.xxx TCP 135
25/01/2004 200.xxx.xxx.xxx TCP 135
25/10/2004 200.xxx.xxx.xxx TCP 135
19/05/2004 200.xxx.xxx.xxx TCP 135
25/02/2003 200.xxx.xxx.xxx TCP 135
27/10/2004 200.xxx.xxx.xxx TCP 135

$ cat lixo | sort -n -t/ -k3 -k2 -k1
25/02/2003 200.xxx.xxx.xxx TCP 135
25/01/2004 200.xxx.xxx.xxx TCP 135
19/05/2004 200.xxx.xxx.xxx TCP 135
15/09/2004 200.xxx.xxx.xxx TCP 135
13/10/2004 200.xxx.xxx.xxx TCP 135
14/10/2004 200.xxx.xxx.xxx TCP 135
25/10/2004 200.xxx.xxx.xxx TCP 135
26/10/2004 200.xxx.xxx.xxx TCP 135
27/10/2004 200.xxx.xxx.xxx TCP 135
19/12/2004 200.xxx.xxx.xxx TCP 135


com -k3 -k2 -k1 eu digo: primeiro ordene pelo 3o campo,
depois pelo 2o e finalmente pelo primeiro.

shell detona!

falou


 --- Julio Cezar Neves - DATAPREVRJ:
> a solução abaixo é para o GNU sort, em outros dialetos a definição do
> -k é
> diferente.
> 
> Prompt> sort -n -k 1.7,1.10 -k 1.4,1.5 -k 1.1,1.2 rel
> 13/10/2004 200.xxx.xxx.xxx TCP 135
> 14/10/2004 200.xxx.xxx.xxx TCP 135
> 15/10/2004 200.xxx.xxx.xxx TCP 135
> 19/10/2004 200.xxx.xxx.xxx TCP 135
> 19/10/2004 200.xxx.xxx.xxx TCP 135
> 25/10/2004 200.xxx.xxx.xxx TCP 135
> 25/10/2004 200.xxx.xxx.xxx TCP 135
> 25/10/2004 200.xxx.xxx.xxx TCP 135
> 26/10/2004 200.xxx.xxx.xxx TCP 135
> 27/10/2004 200.xxx.xxx.xxx TCP 135
...
> -n - Classifica numéricamente;
> -k 1.7,1.10 - A chave se classificação está no 1º campo (o
> delimitador
> default é branco, mas pode ser alterado pela opção -t ou
> --field-separator)
> e vai da coluna 7 a 10 (ano);
> -k 1.4,1.5 - Idem da coluna 4 a 5 (mes);
> -k 1.1,1.2 - dia.


=====
-- 
Aurelio Marinho Jargas, Curitiba, Conectiva
Funcoes ZZ, versao nova http://aurelio.net/zz

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 


reply via email to

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