Прежде всего, с GNU grep, который установлен с Ubuntu, по умолчанию используется флаг -G (используйте базовое регулярное выражение), поэтому вы можете его опустить, но, что еще лучше, используйте расширенное регулярное выражение с -E.
-r флаг означает рекурсивный поиск в файлах каталога, это то, что вам нужно.
И вы вправе использовать флаг -o для печати соответствующей части строки. Также, чтобы пропустить имена файлов, вам понадобится флаг -h.
Единственная ошибка, которую вы допустили, это само регулярное выражение. Вы пропустили спецификацию персонажа до *. Ваша команда должна выглядеть так:
grep -Ehro 'MAIL_[^[:space:]]*' .
Пример вывода (не рекурсивный):
$ echo "Some garbage MAIL_OPTION comes MAIL_VALUE here" | grep -Eho 'MAIL_[^[:space:]]*'
MAIL_OPTION
MAIL_VALUE