распечатать найденный результат regexp в RS

Привет всем, можете ли вы помочь мне распечатать результат regexp в RS?

awk 'BEGIN {RS="--[0-9a-zA-Z]+--"} /pattern/' awk-test.txt

pattern = "- [0-9a-zA-Z] + -" может быть равно --95700e1b-- или -0dcaf754-- или иначе awk распечатать блок текста между RS, как я могу распечатать найденный RS тоже?

PS извините за мой плохой английский.

0
nl ja de
Используйте [[: alnum:]] вместо [[0-9a-zA-Z]] для переносимости, особенно в не-родных англоязычных странах.
добавлено автор Ed Morton, источник

1 ответы

Поскольку RS может быть единственным символом в переносном сценарии awk , я предполагаю, что вы используете gawk . В этом случае вы можете ссылаться на RT , который будет содержать текст, который соответствует регулярному выражению, указанному в RS . ( RT является терминатором записи, поэтому это значение текста, которое соответствует RS в конце текущей записи, а не в начале).

1
добавлено
Спасибо, решил!) Gawk 'BEGIN {RS = "- [0-9a-zA-Z] + -"}/pattern/{print $ 0; print RT} 'awk-test.txt
добавлено автор user2108144, источник