Более эффективный способ сортировки результата команды netstat
Я пытался отсортировать только IP-адреса, не связанные с Firefox, и записать их в файл. Я закончил с этой командной строкой, сделал работу, но мне интересно, есть ли способ сделать лучше.
netstat -antp | grep -E ?:80 | grep -v firefox > ipadress.txt && awk '{print $5}' ipadress.txt > ipadress1.txt
И есть ли способ получить более чистый вывод, удалив порт:80? Я использовал ipadress1.txt
потому что когда я пытался перезаписать это не работает.
1 ответ
Решение
Делать awk
сделать всю работу:
$ netstat -antp | awk '/:80/ && !/\/firefox/{print $5}'
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
151.101.129.69:80
67.132.183.24:80
91.189.89.144:80
151.101.129.69:80
:::*
объяснение
типичный awk
Программа построена так:
/pattern/ {code to run if pattern matched}
В этом конкретном случае мы используем две модели: мы ищем :80
строки и строки, которые не имеют /firefox
в них. &&
логическое И, что означает совпадение обоих шаблонов слева и справа. Если у нас есть совпадение для такой строки - выполните кодовый блок, который печатает только 5-е поле.