Resumo dos comentários relevantes:
Os sistemas de arquivos Unix permitem que qualquer caractere em um nome de arquivo seja diferente de
(nul) e /
ls
(barra invertida). O fato de ls
mostrar pontos de interrogação é apenas porque ele não pode exibir alguns dos caracteres do nome do arquivo na localidade atual (que é uma das razões pelas quais você deve evitar analisar a saída de mv
).
No entanto, com um compartilhamento Samba, você aparentemente tem requisitos mais rígidos em nomes de arquivos do que em um sistema de arquivos padrão do Unix.
Como o arquivo tinha um nome "ilegal" no compartilhamento Samba intermediário, o arquivo estava inacessível pelo nome correto na máquina que montava o compartilhamento.
O %code% não funcionou, pois o nome retornado do compartilhamento Samba para a expansão do padrão globbing não era o nome real do arquivo no sistema de arquivos hosting, apenas a versão do nome do Samba.
Sua solução foi entrar no servidor que realmente hospedou o arquivo (em um sistema de arquivos com regras de nomenclatura menos restritivas que o Samba) e alterar o nome do arquivo lá. Este foi o curso correto de ação.
Veja também o chat do Unix & Linux sobre esta questão .