Na expressão regular básica, você tem que escapar do +
quantifier:
sed 's/;\+$//' file
Ou use expressões regulares estendidas (se o seu sed
as suportar; o GNU sed
faz):
sed -r 's/;+$//' file
Estes são os passos que estou seguindo.
'sed 's/[;]+$//g''
também
sed 's/;{1,\}$//g'
Eu não trabalho se o arquivo estiver com terminadores de linha CRLF. Para que funcione, você precisa combinar com a conversão:
sed 's/.$//'
Tags sed