find /var/www/vhosts/domain.com/httpdocs/ -type f -name '*.*~' \
-exec sh -c 'for arg do mv -- "$arg" "${arg%\~}"; done' _ {} +
- A passagem de
_
primeiro define$0
a_
, o que, de outra forma, teria obtido seu primeiro nome de arquivo. - Usar
+
em vez de;
dizfind
para passar tantos nomes de arquivos quanto possível para um único comando, em vez de executar um novo shell para cada arquivo.