私のファイルにサブネットのリストがあります。上記のように、共通のオクテットを持つサブネットだけを抽出するだけです。
grep "grep -oP '1.[^"]+' を試しましたが、まだ別の結果が出ました。
たとえば、次のログがあります。
1.1.1.0/24
2.74.2.0/24
11.2.1.0/24
1.9.55.0/24
共通の最初のオクテットが1のサブネットのみを抽出したいので、結果は次のようになります。
1.1.1.0/24
1.9.55.0/24
答え1
これはあなたがしたいことをします:
grep '^1\.' filename
この^
記号は線の始まりを表し、\.
文字通りの点を表します。
答え2
ドットで区切られた最初のフィールドが1の各行を印刷します。
awk -F. '$1=="1" {print}' datafile
スクリプトの各行はデフォルトawk
でcondition {action}
一部を省略できるため、1 {print}
次のように行をよりスムーズに作成できます。
awk -F. '$1=="1"' datafile