Я думаю, вам нужно уточнить, что вы хотите получить. Для меня твоя awk-линия не «раздирает меня»
echo "* *[**FIND ME**](find me)*" | nawk -F '* *[**|**]' '{print $2}'
[
Так что было бы полезно, если бы вы привели несколько примеров ожидаемого ввода / вывода. Может быть, есть способ сделать то, что вы хотите с sed
?
EDIT:
Из комментариев вы действительно хотите выбрать «НАЙТИ МЕНЯ» из строки, а не вырезать ее.
Полагаю, диалект регулярных выражений, принятых этим nawk
, отличается от gawk
. Так что, возможно, инструмент, который лучше подходит для этой работы, в порядке.
echo "* *[**FIND ME**](find me)*" | sed -e"s/.*\* \*\[\*\*\(.[^*]*\)\*\*\].*/\1/"
FIND ME