AWK 否定正規表現

AWK 否定正規表現

私は特定の単語と一致しないすべての文字列を提供するawk正規表現を探しています。

/^((?!word \+).)*/ Javaでは機能しますが、AWKでは機能しません。

コンパイル失敗エラーが発生して角かっこをエスケープすると、コンパイルエラーは解決されましたが、正規表現の一致が正しくありませんでした。

誰もがawk正規表現に役立つことができれば良いでしょう。

利用できません string" !~ /regex/

string" ~ /regex/ 正規表現を使用して、すべての文字列を除く特定の文字列を渡す必要があります。

含まれる文字列はdomainフィルタリングする必要があります。入力する

This is domain test
This is do test
This is test

出力

This is do test
This is test

ただ正規表現を使用してください。 awkコードを変更できません

AWKでは次のようになりますstring" ~ /regex/

したがって、これは正規表現でのみ達成できます。

ベストアンサー1

Thomas Dickeyの答えは賢いですが、これを行う正しい方法があります。

awk '!/domain/ {print}' <<EOF
This is domain test
This is do test
This is test
EOF

This is do test
This is test

おすすめ記事