改行で区切られた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 と一致するためです。
文字通りの意味に変更するには、.
グループ化\.
を導入する必要があり、より良いパターンが必要です。
^172\.(1[6-9]|2[0-9]|3[0-1])\.