我有以下输出:

netman@netman:~/Desktop$ nmap -p 80,443,8080 --open 172.20.74.0/24 | grep report | cut -d"(" -f2 | cut -d")" -f1 | sed '/172.20.74.(0-9)/d'
172.20.74.4
172.20.74.11
172.20.74.40
172.20.74.212

我需要一种方法(sed或awk或任何其他命令)来获取172.20.74.11-172.20.74.255范围内的IP地址
我试过sed和其他类似grep的命令,但没有成功。
提前谢谢

最佳答案

. . . | awk '-F.' '$4>10'

产生输出
172.20.74.11
172.20.74.40
172.20.74.212

从你上面的4个IP。我正确地理解你的需要了吗?
这种方法依赖于awks基于为FS(字段分隔符)指定替代值对编号字段进行操作的能力。我使用了命令行选项'-F.'来设置FS
因为你想要第四个字段,我们只需要比较$4>10。只打印与该比较匹配的行。
一个长手版本是
 . . . | awk 'BEGIN{FS="."}{if ($4 > 10) print $0}'

其中,$0表示整行输入,$4表示行中的第4个字段,此时使用“.”作为字段分隔符,默认操作是处理(测试)所有输入行(在本例中,来自管道)。
第1页

关于linux - 如何从第四个八位位组大于10的IP地址列表中获取行?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33226757/

10-11 02:27