={1}.*
é igual a =.*
e corresponderá a um sinal de igual seguido por qualquer quantidade de qualquer caractere. Regexes são geralmente "gananciosos", então eles tentam encontrar a correspondência mais longa. Usar esse padrão contra uma string de sinais de igual corresponderá a toda a string, já que não há como o mecanismo de regex saber que você quis dizer caracteres diferentes de sinais de igual.
Use =[^=]*
para corresponder a um sinal de igual seguido por qualquer quantidade de caracteres que não sejam sinais de igual. Ou =[^=].*
para corresponder a um sinal de igual, seguido por qualquer outro caractere, seguido por qualquer coisa.
Ou para combinar linhas com atribuições de variáveis mais de perto, algo como
sed -Ee 's/^([a-zA-Z0-9_]+=).*//'
verificaria se a linha se parece com uma atribuição de variável e, em seguida, removerá qualquer coisa depois do =
. Isso pressupõe que os nomes das variáveis só podem conter letras, números e sublinhados ingleses. Você pode precisar ajustar isso.