.png)
Eu apenas tentei |sort -nu
(numérico e exclusivo) uma lista de cerca de 30 endereços IP e percebi que, além de selecionar linhas duplicadas, ele está tratando linhas semelhantes (ou seja, endereços com os mesmos dois ou três primeiros octetos) como idênticas; e cortá-los também.
O que há com isso?
Ilustrar; você pode simular esse cenário da seguinte maneira:
stdin
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'
saída padrão
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
stdin
sort -nu 'ip.log'
saída padrão
10.1.1.1
192.168.1.1
Responder1
Diga sort
para classificar os números de versão:
$ 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, diga para classificar numericamente em todos os quatro 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