在由换行符分隔的 IP 地址列表中,我尝试仅匹配内部 172 地址(即 172.16.x - 172.31.x)。我尝试了这个,但它不起作用:
awk '$1 ~ /^172.[1-3][6-9]|[0-1]/'
我究竟做错了什么?
答案1
该模式^172.[1-3][6-9]|[0-1]
匹配类似的东西
172x39
40
后者是因为您匹配第一个字段中带有 0 或 1 的任何内容。
您需要更改 to.
使其\.
成为文字点,您需要引入分组并且需要更好的模式。
^172\.(1[6-9]|2[0-9]|3[0-1])\.