Я пытаюсь получить список ip-адресов из конфигурации, и я получаю их в формате: *.*.*.*:*
, где последним полем является номер порта установленного соединения. Как я могу избавиться от номера порта? здесь линия я теперь делать:избавиться от конца строк, соответствующих шаблону linux
ss -ta | tail -n +2 |awk '{print $4}' | sort -u
Я понимаю, что нужно с помощью СЭД, как трубы между AWK и сортировки для удаления части после двоеточия, но я не знаю, как сделать это правильно.
линия ss -ta
возвращает следующие:
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:ssh *:*
LISTEN 0 100 127.0.0.1:smtp *:*
CLOSE-WAIT 32 0 192.168.1.7:48474 104.18.35.72:https
CLOSE-WAIT 32 0 192.168.1.7:52879 104.18.34.72:https
CLOSE-WAIT 1 0 192.168.1.7:38492 82.80.211.109:http
LISTEN 0 128 :::ssh :::*
LISTEN 0 100 ::1:smtp :::*
ESTAB 0 52 fe80::a00:27ff:fead:6df2%enp0s3:ssh fe80::e1
это выход к моей команде:
> 127.0.0.1:smtp
> 192.168.1.7:38492
> 192.168.1.7:48474
> 192.168.1.7:52879
> ::1:smtp
> fe80::a00:27ff:fead:6df2%enp0s3:ssh
> :::ssh
> *:ssh
желаемый результат:
> 127.0.0.1
> 192.168.1.7
благодаря
Обеспечить корпус, и ваш желаемый результат. –