.png)
Intenté crear |sort -nu
(numérica y única) una lista de aproximadamente 30 direcciones IP y noté que, además de seleccionar líneas duplicadas, trata líneas similares (es decir, direcciones con los mismos primeros dos o tres octetos) como idénticas; y recortándolos también.
¿Que pasa con eso?
Para ilustrar; Puede simular este escenario de la siguiente manera:
entrada estándar
for ip in 192.168.1.{1..5};
do
echo "$ip";
done > ip.log
for ip in 10.1.1.{1..5};
do
echo "$ip";
done >> ip.log
cat 'ip.log'
salida estándar
192.168.1.1
192.168.1.2
192.168.1.3
192.168.1.4
192.168.1.5
10.1.1.1
10.1.1.2
10.1.1.3
10.1.1.4
10.1.1.5
entrada estándar
sort -nu 'ip.log'
salida estándar
10.1.1.1
192.168.1.1
Respuesta1
Dile sort
que ordene por números de versión:
$ sort -Vu 'ip.log'
10.1.1.1
10.1.1.2
10.1.1.3
10.1.1.4
10.1.1.5
192.168.1.1
192.168.1.2
192.168.1.3
192.168.1.4
192.168.1.5
Alternativamente, dígale que ordene numéricamente los cuatro campos:
$ sort -nu -t. -k1 -k2 -k3 -k4 'ip.log'
10.1.1.1
10.1.1.2
10.1.1.3
10.1.1.4
10.1.1.5
192.168.1.1
192.168.1.2
192.168.1.3
192.168.1.4
192.168.1.5