[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Ordenar base por campo
From: |
Lawrence Waclawiak |
Subject: |
Re: [shell-script] Ordenar base por campo |
Date: |
Thu, 13 May 2010 17:20:08 -0300 |
User-agent: |
Thunderbird 2.0.0.23 (X11/20090817) |
Boa tarde MrBits.
Antes de mais nada quero agradecer pela sua ajuda, esta me ajudando
muito a descobrir novas formas de fazer as coisas.
Júlio, Desenvolvi mais duas formas de ordenar a base e fiz testes com
uma base de 1000 linhas, usei a sacada do sort -t, mas não é
possivel(acho) usar num só comando dois separadores, dessa forma não
consegui selecionar o campo ip usando ";" e depois sortear o ip usando
".", tive de fazer diferente, veja os resultados.
Todos os comandos e codigos encontram-se com a formatação preservada
aki: http://pastebin.com/RjHWZbR8
Solução MrBits(teu script tá dentro desse "teste")
[root@ProxyP15 dhcp]# time ./teste > /dev/null
real 0m0.220s
user 0m0.186s
sys 0m0.039s
# Solução com sed + sort + cut
[root@ProxyP15 dhcp]# time sed -r
's/^(.*;.*;.*;.*;.*;)(.*;)(.*;.*;)/\2\1\2\3/g' Rede50.adm.db |sort -n
-t. -k1,1 -k2,2 -k3,3 -k4,4 |cut -d";" -f2- > /dev/null
real 0m0.213s
user 0m0.213s
sys 0m0.005s
# Solução com awk + sort + cut
[root@ProxyP15 dhcp]# time awk -F ';' '{print
$6";"$1";"$2";"$3";"$4";"$5";"$6";"$7";"$8";"}' Rede50.adm.db |sort -n
-t. -k1,1 -k2,2 -k3,3 -k4,4 |cut -d";" -f2- > /dev/null
real 0m0.172s
user 0m0.172s
sys 0m0.007s
A mais eficiente foi a com o awk, eu pensava que ele era mais pesado,
mas se mostrou melhor.
Essa forma de usar o sort também garante a correta ordenação dos ips,
usei teus(MrBits) ips de exemplo veja:
[root@ProxyP15 dhcp]# time awk -F ';' '{print
$6";"$1";"$2";"$3";"$4";"$5";"$6";"$7";"$8";"}' base2 |sort -n -t. -k1,1
-k2,2 -k3,3 -k4,4 |cut -d";" -f2-
aguirre-wifi;00:1A:73:31:08:f0;TMK;Win_Vista;;8.7.6.5;Ativo;;
aguirre-lan;00:16:d3:95:e0:ab;TMK;Win_Vista;;10.2.50.51;Ativo;;
lawrence-wifi;00:1e:4c:91:df:36;TI;Linux;;10.11.42.67;Ativo;;
barbosa-wifi;70:1A:04:88:28:27;TI;Windows_Vista;;10.20.250.255;Ativo;;
lawrence-lan;00:1b:38:e7:49:90;TI;Linux;;10.101.2.137;Ativo;;
Muito obrigado,
Lawrence Waclawiak
MrBiTs escreveu:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
Corrigindo meu último e-mail, a listagem com os IPs de exemplo
encontra-se em
http://pastebin.com/qMJ43jDZ
- --
Um abraço
.0. MrBiTs - address@hidden <mailto:mrbits.dcf%40gmail.com>
..0 GnuPG -
http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x6EC818FC2B3CA5AB
<http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x6EC818FC2B3CA5AB>
000 http://www.mrbits.com.br
- Ordenar base por campo, Lawrence Waclawiak, 2010/05/12
- Re: [shell-script] Ordenar base por campo, Julio C. Neves, 2010/05/12
- Re: [shell-script] Ordenar base por campo, MrBiTs, 2010/05/13
- Re: [shell-script] Ordenar base por campo, MrBiTs, 2010/05/13
- Re: [shell-script] Ordenar base por campo,
Lawrence Waclawiak <=
- Re: [shell-script] Ordenar base por campo, Tiago Peczenyj, 2010/05/13
- Re: [shell-script] Ordenar base por campo, Wagner Macedo, 2010/05/14