Ordenar una lista de IPs

Cuando tenemos una lista o relación de IPs y queremos ordenarlas para trabajar con ellas, podemos hacerlo de diferentes maneras y en diferentes lenguajes. Normalmente he usado primero Python y luego la termnal de comandos por su rapidez, efectividad y simplicidad.

Ordenar una lista de IPs en Python

En Python y con unas pocas líneas podemos ordenar una lista de IPs.

# Leo las direcciones IP del archivo ips.log
with open("ips.log", "r") as archivo:
    ips = archivo.readlines()

# Elimino los caracteres de nueva línea de cada dirección IP
ips = [ip.strip() for ip in ips]

# Ordeno las direcciones IP
ips_ordenadas = sorted(ips)

# Guardo las direcciones IP ordenadas en el archivo ips_ordenadas.log
with open("ips_ordenadas.log", "w") as archivo:
    for ip in ips_ordenadas:
        archivo.write(ip + "\n")

print("Las direcciones IP se han guardado ordenadas en el archivo 'ips_ordenadas.log'.")

Ordenar una lista de IPs en la terminal de Linux

Para ordenar y una lista de IPs en la consola y si las IPs mantienen todos los octetos el mismo formato de tres dígitos simplemente escribimos:

sort -V ips.log > ips_ordenadas.log

Aunque en las últimas versiones de Linux hace la ordenación bien aunque los octetos no tengan el mismo número de dígitos.
Pero si no lo ordenara correctamente usamos la siguiente estructura, también con el comando sort.

sort -t . -k 1,1n -k 2,2n -k 3,3n -k 4,4n ips.log > ips_ordenadas.log

Sobre mi

Trabajo en el desarrollo de webs profesionales desde hace más de 25 años.
También me dedico a mis proyectos personales.

Últimas notas publicadas

Categorías

Scroll al inicio