Suponha que sua variável contenha pelo menos uma ocorrência de ef , POSIXly:
$ printf '%s\n' "${foo%ef*}${foo##*ef}"
ab cd gh
Em bash , ksh variants (excluir posh ), zsh e yash , você pode usar:
$ printf '%s\n' "${foo/ef}"
para remover a primeira ocorrência de ef ou "${foo//ef}" para remover todas as ocorrências.