Com base no seu comentário à resposta do Nifle , talvez seja mais parecido com o que você está procurando. Ele só atua em linhas que contêm TEXT=
seguido por 4 '-' segmentos de texto delimitados.
Usando o GNU sed (tratando "TEXT" e "yahoo" como constantes)
sed -re 's/^(TEXT=[^-]+)-([^-]+)-([^-]+)-(yahoo)$//'
Ou, usando o GNU sed (tratando todo o texto depois de "=" como vairable)
sed -re 's/^(TEXT=[^-]+)-([^-]+)-([^-]+)-([^-]+)$//'
Ou, para portabilidade posix (tratar todo o texto depois de "=" como vairable):
sed 's/^\(TEXT=[^-][^-]*\)-\([^-][^-]*\)-\([^-][^-]*\)-\([^-][^-]*\)$//'