Uma amostra de corrida para criar um arquivo chamado "non breaking space" e renomeá-lo:
$ ls -1 # Each file on a separate row
testfile
$ touch # I'm actually writing the character u00a0 here
$ ls -1
testfile
$ ls -i # Print inodes
2031842 testfile
2023653
$ find . -maxdepth 1 -inum 2023653 -exec mv {} hithere \;
$ ls -i1
2023653 hithere
2031842 testfile
O exec
em sua forma só faz sentido se houver apenas uma única correspondência, mas o número do inode deve ser exclusivo nessa partição, a menos que existam links físicos para o mesmo arquivo. Você pode testar isso executando a pesquisa sem argumentos primeiro para ver se consegue várias correspondências. Se esse for o caso, você pode, por exemplo refine o padrão find
para corresponder apenas ao arquivo desejado.
Como a renomeação não depende dos caracteres exatos do nome do arquivo, não deve haver problemas em inserir códigos estranhos.