Linux + удалить дубликаты IP-адресов из файла

Какой лучший способ удалить дубликаты IP-адресов из файла

Я использую команду:

        sort file | uniq

но я не уверен, что это лучший способ, может быть, я что-то пропустил?

примечание: мой файл содержит два поля

пример файла

 172.17.200.1 3.3.3.3
 172.17.200.1 3.3.3.3
 255.255.255.0 255.255.255.111
 255.255.255.0 255.255.255.111
 172.17.200.2 3.3.3.4
 255.255.255.0 255.255.255.111
 172.17.200.3 3.3.3.5
 255.255.255.0 255.255.255.111
 172.17.200.4 3.3.3.7
 255.255.255.0 255.255.255.111
 172.17.200.5 3.3.3.8
 255.255.255.0 255.255.255.111
 255.255.255.0 255.255.255.111
 172.17.200.1 3.3.3.3
 255.255.255.0 255.255.255.111
 172.17.200.2 3.3.3.4
 255.255.255.0 255.255.255.111
 172.17.200.3 3.3.3.5
 255.255.255.0 255.255.255.111
 172.17.200.4 3.3.3.7
 255.255.255.0 255.255.255.111
 172.17.200.5 3.3.3.8
 255.255.255.0 255.255.255.111
 255.255.255.0 255.255.255.111

2 ответа

Решение

Я считаю, что что-то такое простое, как "sort -u" должно работать для вас

#sort -u /tmp/test

172.17.200.1 3.3.3.3
172.17.200.2 3.3.3.4
172.17.200.3 3.3.3.5
172.17.200.4 3.3.3.7
172.17.200.5 3.3.3.8
255.255.255.0 255.255.255.111

Проверьте man-страницу sort для получения дополнительной информации:

-u, --unique
with -c, check for strict ordering; without -c, output only the first of an equal run

Пытаться

:%s/^\(.*\)\n\1$/\1/

Это в основном сравнивает строки в файле в vi

Другие вопросы по тегам