我有以下输出:
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/