[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