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

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

RES: RES: [shell-script] Otimizacao codigo


From: Rodrigo Vilaça
Subject: RES: RES: [shell-script] Otimizacao codigo
Date: Fri, 20 Aug 2004 11:48:08 -0300

Uma solução é transformar a data para o formato <ano><mes><dia> e depois
classifica.

sed 's,^\([0-9]\{2\}\)/\([0-9]\{2\}\)/\([0-9]\{2\}\),\3\1\2,' t2 | sort

Vai transformar a data 03/24/05 em 050324, ok?

Tenta ai!

[]'s
Rodrigo Vilaça


>Ola Rodolfo,
>
>Teria um problema com sua sugestao.... meu campo esta no formato
><mes>/<dia>/<ano>. Da forma como voce sugere (e foi a primeira utilizada),
>as linhas nao sao ordenadas considerando o ano. Teria algo assim como
>saida:
>
>      fcaldeir> sort t2
>      03/24/05 DAJ282         full AIX.AA.001
>      06/04/05 DEG622         full ARCHIVE.AA.001
>      06/06/05 DAJ106         full AIX.AA.002
>      06/06/05 DEG619         full ARCHIVE.AA.002
>      06/06/05 DEG620         full ARCHIVE.AA.003
>      07/29/13 DAJ200         full DATA.AA.134
>      11/24/04 DAJ262         full DATA.AA.188
>      11/24/04 DAJ263         full DATA.AA.189
>      expires barcode          (%) volume
>
>Veja que as fitas que expiram em 4/nov/2004 estão no final da listagem. No
>entanto, elas deveriam ser as primeiras.
>
>Obrigado.
>
>Frederico B. Caldeira
>Unix Administrator and User Support
>Phone: +1 561 625 8665  Fax: +1 561 625 8666
>
>
>Frederico,
>
>Como a classificação é pelo primeiro campo, poderias fazer simplesmente:
>
>sort t2 > t2_classificado
>
>Que tal?
>Teste e veja o resultado.
>
>[]s
>--------------------------
>Rodolfo D. Gross Villanova
>
>> -----Mensagem original-----
>> De: address@hidden
>> [mailto:address@hidden]
>> Enviada em: sexta-feira, 20 de agosto de 2004 09:40
>> Para: address@hidden
>> Assunto: [shell-script] Otimizacao codigo
>>
>>
>>
>> Um determinado comando me produz a saída:
>>
>>        expires barcode          (%) volume
>>        03/24/05 DAJ282         full AIX.AA.001
>>        06/06/05 DAJ106         full AIX.AA.002
>>        06/04/05 DEG622         full ARCHIVE.AA.001
>>        06/06/05 DEG619         full ARCHIVE.AA.002
>>        06/06/05 DEG620         full ARCHIVE.AA.003
>>        07/29/13 DAJ200         full DATA.AA.134
>>        11/24/04 DAJ262         full DATA.AA.188
>>        11/24/04 DAJ263         full DATA.AA.189
>>
>> Preciso desta saída ordenada pelo primeiro campo (expires -
>> data). Consegui
>> isto fazendo:
>>
>>       cat t2 | awk '{print substr($0,8,2)$0;}' | sort | awk '{print
>> substr($0,4,60);}'
>>
>> Alguém sugere um código mais elegante para fazer a mesma coisa (se
>> possível, melhor)?
>>
>>
>> Obrigado.
>>
>>
>> Frederico B. Caldeira
>> Unix Administrator and User Support
>> Phone: +1 561 625 8665  Fax: +1 561 625 8666
>
>
>
>
>
>---------------------------------------------------------------------
>Esta lista não admite a abordagem de outras liguagens de
>programação, como perl, C etc. Quem insistir em não seguir esta
>regra será moderado sem prévio aviso.
>---------------------------------------------------------------------
>Sair da lista: address@hidden
>---------------------------------------------------------------------
>Esta lista é moderada de acordo com o previsto em
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------

Links do Yahoo! Grupos






---
Incoming mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.725 / Virus Database: 480 - Release Date: 19/07/2004

---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.725 / Virus Database: 480 - Release Date: 19/07/2004



reply via email to

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