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