履歴を含むファイルがあります。
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「うなぎ中こんな」