find . -type f -exec rename 's/\.//' '{}' \;
Pense no parâmetro -n de renomear: basta exibir o que ele fará depois de removê-lo!
Eu cometi um erro com o comando rename
find . -type f -exec rename 's/[^A-Za-z0-9._]//g' {} +
Depois disso, os arquivos não estão em suas pastas como costumavam ser e todo arquivo tem. na frente deles. Agora meus clientes não podem ver os arquivos. Depois de remover o. então eles podem ver os arquivos.
Como posso remover? dos arquivos. Assim:
.finacialyear2008half.doc
para
finacialyear2008half.doc
Por favor me ajude! Eu preciso de uma solução rápida.
Supondo que você esteja usando o bash, você pode percorrer os arquivos substituindo as primeiras ocorrências de /.
por /
nos nomes de arquivos de todos os arquivos da pasta atual.
for filename in $(find . -maxdepth 1 -type f)
do
mv -v $filename ${filename/\/.//}
done
Isso pressupõe que você não precisa renomear recursivamente os arquivos e funcionará apenas no diretório atual ( -maxdepth 1
).
Aviso de isenção de responsabilidade: sempre faça backup de seus arquivos ou, pelo menos, tente com vários arquivos de teste antes de executar qualquer ação nos seus dados.