Ordenando uma lista de IPs (IPv4) com o sort

Publicado por Sandro Marcell em 12/04/2011

[ Hits: 6.905 ]

Blog: http://sanmarcell.wordpress.com

 


Ordenando uma lista de IPs (IPv4) com o sort



Para quem tem um arquivo com uma lista de vários endereços IPs e deseja ordená-los, então aqui vai a sintaxe para o comando "sort":

sort -n -t '.' -k 1,1 -k 2,2 -k 3,3 -k 4,4 arquivo

Onde:
  • -n = a comparação deve ser realizada de acordo com o valor numérico da string
  • -t = especifica qual caractere será utilizado como separador de campos
  • -k = determina qual posição do campo será ordenada

Ex.:

cat lista_de_ips

192.168.1.7
10.102.4.56
172.16.1.69
10.102.5.24
192.168.0.11

sort -n -t '.' -k 1,1 -k 2,2 -k 3,3 -k 4,4 lista_de_ips
10.102.4.56
10.102.5.24
172.16.1.69
192.168.0.11
192.168.1.7


Mais detalhes? - Salve seu dia, consulte as man pages!

man sort

Falou!!!

Outras dicas deste autor

Vim: Autocompletar com TAB

jQuery + PHP = Monitor de status

Shell - operações envolvendo números em ponto flutuante

nmap - Verificando os IPs em uso na rede

Vim: fechamento automático de pares de caracteres

Leitura recomendada

Mudanca no boot inicial

Acessando compartilhamentos de rede do Windows pelo CentOS

Tocando filmes em modo ASCII no console

[RESOLVIDO] Problem with MergeList (Ubuntu, Mint, Debian, etc)

Uso básico dos comandos zip e unzip

  

Comentários
[1] Comentário enviado por chimico em 13/04/2011 - 09:26h

Legal SMarcell, estou "brincando" com o sort já a um tempo e gostei da sua dica
Grande abraço

[2] Comentário enviado por brunotec em 14/04/2011 - 00:22h

Legal mesmo cara, em um ambiente corporativo isso pode quebrar o maior galho.

Um abraço.

[3] Comentário enviado por SMarcell em 24/02/2012 - 17:17h

Passando pra lembrar que isso:

sort -n -t '.' -k1 -k2 -k3 -k4

e o mesmo que isso:

sort -n -t '.' -k 1,1 -k 2,2 -k 3,3 -k 4,4

=)

Valeu!!!



Contribuir com comentário