我试图仅对与 Firefox 无关的 IP 地址进行排序,并将它们写入文件中。我最终得到了这个命令行,完成了工作,但我想知道是否有更好的方法。
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 个字段。