[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Ordenar base por campo
From: |
Lawrence Waclawiak |
Subject: |
Ordenar base por campo |
Date: |
Wed, 12 May 2010 21:45:46 -0300 |
User-agent: |
Thunderbird 2.0.0.23 (X11/20090817) |
Boa noite pessoal!
A missão agora é ordenar a uma base de dados usando como referencia o
valor de um campo em especifico no caso esse campo é o 6° separado por
";" e contém endereços IPs de uma mesma rede.
O formato da base é o seguinte:
nome;mac;local;so;gw;ip;status;comentario;
O exemplo da base e o comando que usei para solucionar está em
http://pastebin.com/xX70UNC7
Primeiro problema, o campo IP não é o primeiro, sendo assim fazer um
"sort" não vai adiantar nada
Segundo problema, mesmo que o campo ip fosse o primeiro, com o sort eu
não consegui organizar endereços ips, tentei com várias opções do man e
nada.
Por exemplo, se fizer um sort nos seguintes ips:
echo "10.10.50.50
10.10.50.6" |sort
10.10.50.50
10.10.50.6
Ele não consegue organizar, independente da flag passada para o sort (
-n -g -d )
A solução que arrumei foi a seguinte: Obs esse comando tbm encontra-se
aki com a formatação preservada: http://pastebin.com/xX70UNC7
cat $Database |sed -r
's/(^.*;(([0-9]{1,3}\.){3})([0-9]{1,3});.*$)/\4;\1/' |sort -n |sed -r
's/^[0-9]{1,3};//'
Explicando: Eu crio um retrovisor \1 que casa com toda a linha, mas no
meio crio outros retrovisores para fatiar o ip e então crio uma nova
linha que é igual a original porém começando com um novo campo que
contém a ultima casa do endereço ip recureprado com o retrovisor \4,
então passo um sort -n e em seguida com o sed removo esse novo campo que
havia sido criado.
Funcionar funciona, mas achei muito poluída essa minha solução.
Alguém sabe um forma mais limpa e eficiente de fazer isso?
Grato pela atenção,
Lawrence Waclawiak
- Ordenar base por campo,
Lawrence Waclawiak <=
- 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, Tiago Peczenyj, 2010/05/13
- Re: [shell-script] Ordenar base por campo, Wagner Macedo, 2010/05/14