Ordenando uma lista de IPs (IPv4) com o sort

Publicado por Sandro Marcell em 12/04/2011

[ Hits: 9.093 ]

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

Overclock em placas de vídeo NVIDIA

Copiar e colar no XTerm

Balanceando consultas de DNS no /etc/resolv.conf

ifconfig + sed - Mostrando seu endereço IP

CGI + Shell Script: gerando listagem de IPs disponíveis em sua rede

Leitura recomendada

O gerenciador de pacotes dpkg

O comando recode

Conflito na tecla F10 para sair do MC (midnight commander) dentro do Gnome

Solicitar a alteração de senha no primeiro login - Samba

Aprenda a utilizar o cron [Vídeo]

  

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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts