Это должно сработать:
find . -type f -exec bash -c 'novo="`echo $1 \
| iconv -f UTF-8 -t ISO-8859-1`"; if [ "$novo" != "$1" ] ;\
then mv "$1" "$novo"; fi' -- {} \
Вы можете изменить .
на любой соответствующий каталог и отфильтровать файлы по имени с помощью -name
, см. man find
.
Чтобы повлиять только на файлы, оканчивающиеся на .pdf
, вы можете использовать
find . -type f -name '*.pdf' -exec bash -c 'novo="`echo $1 \
| iconv -f UTF-8 -t ISO-8859-1`"; if [ "$novo" != "$1" ] ;\
then mv "$1" "$novo"; fi' -- {} \
Однострочник для копирования и вставки:
find . -type f -exec bash -c 'novo="`echo $1 | iconv -f UTF-8 -t ISO-8859- 1`"; f [ "$novo" != "$1" ] ; then mv "$1" "$novo"; fi' -- {} \;