Сеть работает не так, как вы думаете. IP-адреса назначаются сетевым интерфейсам , а не ПК и не программам. Сегменты LAN (, подключенные через коммутатор ), должны иметь общий IP-префикс.
Вот такая ситуация может быть:
+------------------------+ +-----------+
| PC A | | PC B |
| | | |
| eth1 eth0 | | eth0 |
| 10.70.70.1 10.49.1.1 | | 10.49.1.8 |
+------------------------+ +-----------+
| | |
----+ +----------------+
switch switch
10.70.70.0/24 10.49.1.0/24
В этом случае ПК A может отправлять пакеты на ПК B, используя 10.49.1.8
, а ПК B может отправлять пакеты на ПК A, используя 10.49.1.1
в качестве пункта назначения. Если на ПК B есть маршрут вида
ip route add 10.70.70.0/24 dev eth0 via 10.49.1.1
, тогда ПК B отправит весь пакет на 10.70.70.*
сначала на ПК A, и, в частности, он достигнет ПК A под 10.70.70.1
, если какое-то приложение привязано ко всем сетевым интерфейсам или к этому конкретному интерфейсу .
Вы этого хотели?
Если нет, подробно объясните, какие приложения вы пытаетесь заставить сотрудничать и каким образом, и почему, вы думаете, что вам нужны два IP-адреса для ПК A.
Вы можете использовать sort
с опцией --unique
для достижения желаемого:
$ sort --unique --key=1,1 file.txt
1.1.1.1 abc
1.2.2.2 ddd
или сокращенно
sort -uk1,1 file.txt
Опция --unique
подавляет строки с одинаковыми полями, которые уже были обработаны и --key=1,1
определяет первое поле как ключ сортировки(начало и конечную позицию).