Altere os nomes dos arquivos com find e iconv

Tentei alterar os nomes de arquivos usando o seguinte script:

find dir / -type f -exec mv {} $ (eco {} | iconv -f UTF8 -t ASCII // TRANSLIT) \;

Por que não funciona? Quero dizer, quando tenho um arquivo com caracteres como 'ą', ele deve ser convertido em 'a'.

$ echo ążźćó | iconv -f UTF8 -t ASCII//TRANSLIT
azzco

por que não funciona em find -exec?

$ find dir/ -type f -exec mv {} $(echo {} | iconv -f UTF8 -t ASCII//TRANSLIT ) \;
mv: `dir/zią' and `dir/zią' are the same file

Obtive os mesmos resultados usando xargs:

$ find dir/ -type f | xargs -I{} echo {} | iconv -f UTF8 -t ASCII//TRANSLIT
dir/zia

mas

$ find dir/ -type f | xargs -I{} mv {} $(echo {} | iconv -f UTF8 -t ASCII//TRANSLIT)
mv: `dir/zią' and `dir/zią' are the same file

questionAnswers(6)

yourAnswerToTheQuestion