Я просто попытался |sort -nu (числовой и уникальный) список из примерно 30 IP-адресов и заметил, что в дополнение к отбраковке повторяющихся строк он обрабатывает похожие строки (т. Е. Адреса с одинаковыми первыми двумя или тремя октетами) как идентичные ; и вырезать их тоже.

Что с этим?

Проиллюстрировать; Вы можете смоделировать этот сценарий следующим образом:


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'

стандартный вывод

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'

стандартный вывод

10.1.1.1
192.168.1.1

1 ответ1

1

Скажите sort по номерам версий:

$ 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

В качестве альтернативы, скажите это отсортировать численно по всем четырем полям:

$ 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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .