Чтобы получить все между FOO и BAR, кроме пробелов после FOO или перед BAR, используйте это регулярное выражение для POSIX ERE:
FOO[[:space:]]*(.*)[[:space:]]*BAR
или для POSIX BRE:
FOO[[:space:]]*\(.*\)[[:space:]]*BAR
Поскольку POSIX поддерживает только жадные квантификаторы, это регулярное выражение фиксирует все между FOO и последним появлением BAR, если имеется более одного BAR.