Cambie los nombres de archivo con find e iconv
Intenté cambiar los nombres de archivo con el siguiente script:
find dir / -type f -exec mv {} $ (echo {} | iconv -f UTF8 -t ASCII // TRANSLIT) \;
¿Por qué no funciona? Quiero decir que cuando tengo un archivo con caracteres como 'ą', debería convertirlo a 'a'.
$ echo ążźćó | iconv -f UTF8 -t ASCII//TRANSLIT
azzco
¿por qué no funciona en 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
Obtengo los mismos resultados con xargs:
$ find dir/ -type f | xargs -I{} echo {} | iconv -f UTF8 -t ASCII//TRANSLIT
dir/zia
pero
$ find dir/ -type f | xargs -I{} mv {} $(echo {} | iconv -f UTF8 -t ASCII//TRANSLIT)
mv: `dir/zią' and `dir/zią' are the same file