Можно использовать вот такой скрипт:
#!/bin/bash
for file in $(find . -type f)
do
name_out=$file
name_out+="_utf8"
iconv -f cp1251 -t utf8 $file -o $name_out
rm $file
mv $name_out $file
done
Текст скрипта надо сохранить в файл, дать файлу разрешение на выполнение, положить его в тот каталог в котором надо конвертировать файлы и запустить скрипт.
Внимание!
Решение
find -name "mask" -exec iconv -f cp1251 -t utf8 {} -o {} \;
является неверным, лично убедился!
Таким образом файлы будут портиться!!!
Так происходит потому что и входной и выходной файл будут одним файлом, в итоге iconv будет неправильно работать!
У одних пользователей, такая команда вообще обнуляет файлы, у меня такая команда файлы больше 20 Кб обрезала, но файлы маленькие обрабатывала.
В общем, для iconv входной и выходной файлы должны быть строго разными!