Эффективные методы в AWK для печати целых полей, соответствующих шаблону

В AWK есть несколько методов для печати всего поля, если оно соответствует определенному шаблону:

Метод 1: использование функции match() и substr()

awk '{ if (match($0, /pattern/)) print substr($0, RSTART, RLENGTH) }' file.txt

Метод 2. Использование оператора регулярного выражения ~

awk '/pattern/ { print $0 }' file.txt

Метод 3. Использование регулярного выражения в качестве разделителя полей

awk -F 'pattern' '{ print $2 }' file.txt

Метод 4. Использование функции gensub()

awk '{ if (gensub(/pattern/, "&", "g") == $0) print $0 }' file.txt

Метод 5. Использование функции index()

awk '{ if (index($0, "pattern")) print $0 }' file.txt