Если вы напишите это так, это не оболочка:)
Можете ли вы предоставить пример строки для использования регулярного выражения в?По сути, это будет вызов sed, который сократит все, кроме адреса.Хотя почтовый адрес в соответствии с RFC может быть довольно сложным, поэтому простой подход будет работать в большинстве случаев, но не каждый раз.
Попробуйте начать с чего-то вроде
sed 's/.*mailto:\([^?]*\)?.*/\1/'
Так что вы можете использовать его так:
str=$(echo $1|sed 's/.*mailto:\([^?]*\)?.*/\1/')