Изменить имена файлов с помощью find и iconv
Я пытался изменить имена файлов, используя следующий скрипт:
find dir / -type f -exec mv {} $ (echo {} | iconv -f UTF8 -t ASCII // TRANSLIT) \;
Почему это не работает? Я имею в виду, когда у меня есть файл с символом типа «'», он должен преобразовать его в «a».
$ echo ążźćó | iconv -f UTF8 -t ASCII//TRANSLIT
azzco
почему это не работает в 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
Я получаю те же результаты, используя xargs:
$ find dir/ -type f | xargs -I{} echo {} | iconv -f UTF8 -t ASCII//TRANSLIT
dir/zia
но:
$ find dir/ -type f | xargs -I{} mv {} $(echo {} | iconv -f UTF8 -t ASCII//TRANSLIT)
mv: `dir/zią' and `dir/zią' are the same file