Наверное, вы ищете
sed 's/&\([a-z][a-z0-9]*=\)/;\1/g'
т.е. замените только точки с запятой, за которыми сразу следует токен и знак равенства. (Возможно, вам придется изменить определение токена, в зависимости от того, как могут выглядеть ваши токены. Например, подчеркивание часто поддерживается, но используется редко. Возможно, вы также захотите поддерживать прописные буквы.)
Если это вообще возможно, исправьте процесс, который производит эти значения, поскольку формат по своей сути неоднозначен.