Você pode usar sed
para isso. No BSD sed
:
echo "foo 'bar'" | sed -E "s/.*'([^']+)'.*/\1/"
Ou, sem a opção -E
:
sed "s/.*'\([^']\+\)'.*//"
Isso não funciona para entrada de múltiplas linhas. Para isso você precisa:
sed -n "s/.*'\([^']\+\)'.*//p"