ファイルにスペースが含まれている Grep 行

ファイルにスペースが含まれている Grep 行

履歴を含むファイルがあります。

qwe.google.com IN A 1.1.1.1
qwe.google.com   IN {uneven-space} A{space}1.1.1.1
qwe.google.com  IN     CNAME      asd.google.com

含まれているすべての行を把握する必要がありますが、行間にIN A不均等なスペースが含まれているため、これを行うことはできません。

答え1

あなたはそれを使用することができます

grep -E "IN[[:blank:]]+A" file
  • [[:blank:]]次のようにスペースとタブに一致します。[ \t]

答え2

あなたはそれを使用することができます

grep -E "IN +A" file

一致します(を通じて拡張正規表現IN)とその間には1つ以上のスペースがありますA

INとの間に異なる形式のスペース(タブなど)がある場合は、次のようにA使用できます。キャラクターリストまたはキャラクタークラス単純な空間ではなく、この回答例えば。

答え3

awk '$2 == "IN" && $3 == "A"'

おそらくあなたが望むものに近づくでしょう(その出力からインターネットAレコードを探してください)。

そしてgrep

grep -E '[[:blank:]]IN[[:blank:]]+A[[:blank:]]'

ただそれよりも良いでしょう。

grep -E 'IN[[:blank:]]+A'

次の行と一致します。

example.com IN TXT "v=spf1 には以下が含まれます。二つ」

例えば。

それにもかかわらず、両方のgrepコマンドは一致します。

example.com IN TXT「うなぎこんな」

関連情報