+ é um modificador de expressão regular estendido. sed expressões regulares básicas por padrão.
Para fazer sed analisar suas expressões como expressões regulares estendidas, use sed -E . O GNU sed também entende + em expressões regulares básicas se você usá-lo como \+ .
Além disso, seu padrão *\-[0-9]** parece estranho. O - não precisa de escape (não no padrão de shell e não na expressão regular) e, a menos que você use globstar in bash , o padrão ** expandirá para si mesmo. Com globstar habilitado em bash *-[0-9]** seria expandido para todos os nomes de caminho que contêm -N no primeiro componente de nome de arquivo (em que N é um dígito).
O que eu acho que você gostaria de fazer é algo assim (provavelmente não é bem assim, mas não sei como são seus nomes de arquivos):
for name in *-[0-9][0-9]*; do
newname=${name%-*}
printf 'Would rename "%s" into "%s"\n' "$name" "$newname"
# mv "$name" "$newname"
done
Isso corresponde a todos os nomes no diretório atual que contém -NN ( N é um dígito). Ele remove tudo do último - no nome do arquivo e renomeia o arquivo (a renomeação real é comentada).