С gawk вы можете использовать функцию match
для захвата заключенных в скобки групп.
gawk 'match($0, pattern, ary) {print ary[1]}'
пример:
echo "abcdef" | gawk 'match($0, /b(.*)e/, a) {print a[1]}'
выходы cd
.
Обратите внимание на конкретное использование gawk, которое реализует данную функцию.
Для портативной альтернативы вы можете достичь аналогичных результатов с match()
и substr
.
пример:
echo "abcdef" | awk 'match($0, /b[^e]*/) {print substr($0, RSTART+1, RLENGTH-1)}'
выходы cd
.