Используя Awk, я хочу сопоставить всю запись с помощью регулярного выражения. По умолчанию сопоставление регулярного выражения выполняется для частей записи.
Идеальное решение будет:
- Общее для всех полей, независимо от используемого разделителя полей.
- Не обрабатывать весь ввод как одно поле и анализировать его вручную, используя строковые функции.
- Работайте в общем и не относитесь, например, к 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_