Supondo que você só quer encontrar qualquer arquivo cujo nome corresponda a *~
ou .*~
(geralmente são arquivos de backup deixados por um editor), então esta única invocação de find
fará isso para você:
find /var/www/html/mypath/ -type f \( -name '*~' -o -name '.*~' \) -print
Você pode inserir um -maxdepth 6
se achar que faz sentido:
find /var/www/html/mypath/ -maxdepth 6 -type f \( -name '*~' -o -name '.*~' \) -print
Para excluir os arquivos encontrados, basta adicionar -delete
ao final do comando.
Quando o shell não pode expandir um padrão de globalização de nomes de arquivos para uma lista de nomes, ele é mantido como um padrão não expandido. É por isso que você obtém o resultado obtido com seu código.