特定の単語を含む行をフィルタリングしようとしています。正規表現はスクリプトへのコマンドライン入力です。
$0 ~ regex {
//Do something.
}
入力例は次のとおりです。
**String** **number**
domain 1
domain 2
bla 3
したがって、上記の入力では、ユーザーは「domain」という単語を含む行をフィルタリングすると言うことができます。
私が試したこと:
regex = "\?\\!domain"
(負の予測)。
ただし、この正規表現はすべての行をフィルタリングします。 「ドメイン」という単語を含む行だけではありません。
ベストアンサー1
input
以下を含む特定の入力ファイルの場合:
domain
demesne
以下を含むフィルタラインdomain
:
$ awk '/domain/ { print }' input
domain
行フィルタリングいいえ含むdomain
:
$ awk '!/domain/ {print }' input
demesne
フィルタリング基準大地フル行ではなく、新しい与えられたファイルで次のことを試すことができますinput
。
example www.example.com
exemplar www.example.net
最初のフィールドによる行のフィルタリング含む example
:
$ awk '$1 !~ /example/ { print }' input
exemplar www.example.net
あなたの質問では、$0
最初のフィールドの代わりに行全体を使用しています。