Awk を使用して、正規表現を使用してレコード全体を照合したいと考えています。デフォルトでは、正規表現マッチングはレコードの一部に対して行われます。
理想的なソリューションは次のとおりです。
- 使用するフィールド セパレータに関係なく、すべてのフィールドに対して一般的であること。
- 入力全体を 1 つのフィールドとして扱わず、文字列関数を使用して手動で解析します。
- 一般的な方法で作業し、たとえば gawk に固有のものではありません。
ただし、外部プログラムを呼び出さずに Awkを使用する限り、すべてのソリューションに関心があります。
例、私は持っています:
$ ls
indata.txt t1.awk
$ cat indata.txt
a1010_
1010_
1010_b
$ cat t1.awk
/[01]*_[01]*/ { print $0 }
私は得る:
$ awk -f t1.awk indata.txt
a1010_
1010_
1010_b
これは私が求めている結果です:
$ awk -f t1.awk indata.txt
1010_