172.16.0.0/12
是B类网络。我只想从该类中获取IP。
这是示例日志文件。
[user@linux ~]$ cat ClassB.txt
172.16.0.0/12 is a Class B networks
172.16.0.0 – 172.31.255.255
Network: 172.16.0.0/12
HostMin: 172.16.0.1
HostMax: 172.31.255.254
Broadcast: 172.31.255.255
Out of range: 172.32.255.254
Out of range: 172.15.0.1
Out of range: 172.4.0.1
[user@linux ~]$
如果我使用egrep -n '172.[1-3][0-9]' ClassB.txt
,这也会使172.32.255.254
超出B级范围。
[user@linux ~]$ egrep -n '172.[1-3][0-9]' ClassB.txt
1:172.16.0.0/12 is a Class B networks
2:172.16.0.0 – 172.31.255.255
3:Network: 172.16.0.0/12
4:HostMin: 172.16.0.1
5:HostMax: 172.31.255.254
6:Broadcast: 172.31.255.255
7:Class B: 172.19.0.1
8:Class B: 172.20.0.1
9:Out of range: 172.32.255.254
10:Out of range: 172.15.0.1
[user@linux ~]$
我该怎么做才能仅grep从172.16.0.0
到172.31.255.255
的B类IP地址
所需的输出
[user@linux ~]$ <grep/egrep command here> ClassB.txt
1:172.16.0.0/12 is a Class B networks
2:172.16.0.0 – 172.31.255.255
3:Network: 172.16.0.0/12
4:HostMin: 172.16.0.1
5:HostMax: 172.31.255.254
6:Broadcast: 172.31.255.255
7:Class B: 172.19.0.1
8:Class B: 172.20.0.1
[user@linux ~]$