[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RES: RES: RES: [shell-script] Otimizacao codigo
From: |
Julio Cezar Neves - DATAPREVRJ |
Subject: |
RES: RES: RES: [shell-script] Otimizacao codigo |
Date: |
Fri, 20 Aug 2004 18:46:09 -0300 |
Frederico,
se o seu negócio é otimizar *MESMO* :), ai vai:
sort -t'/' -k 3.1,3.2 -k 1.8,1.9 -k 2.1,2.2 t2
11/24/04 DAJ262 full DATA.AA.188
11/24/04 DAJ263 full DATA.AA.189
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
onde:
-t informa o separador de campos;
-k informa as posições dentro de cada campo, no formato
campo.pos_ini,campo.pos_fim
Eu supuz que a sua data estava no formato mm/dd/aa então as minhas chaves de
classificação (-k) foram:
3.1,3.2 - terceiro campo da posição 1 a 2 (ano);
1.8,1.9 - primeiro campo da posição 8 a 9 (mes). Comecei na 8 para ignorar
os brancos iniciais;
2.1,2.2 - segundo campo da posição 1 a 2.
Caso não seja esta a ordem pretendida, vc já tem as ferramentas para usar do
jeito que vc quiser.
Esta sintaxe só vale para o GNU sort. Caso vc esteja usando *BSD ou algum
sabor UNIX (ao qual eu tenha acesso), me avise que mando a sintaxe correta.
Julio Cezar Neves
- Programa de Software Livre -
Tel:+55 21 2528-7070 / +55 21 8112-9988
Fax: +55 21 2528-7646
mailto:address@hidden
| >> -----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.
|
|
|
|
|
|
| ---------------------------------------------------------------------
| 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
- RES: RES: RES: [shell-script] Otimizacao codigo,
Julio Cezar Neves - DATAPREVRJ <=