Еще один конвертор на shell. Перекодировка всех файлов в указанном каталоге из Windows-1251 в UTF-8.
Маска файлов *.txt указана в скрипте в параметре для find. Для компактности ее можно вынести в параметр скрипта $2.
#!/bin/bash
#
# Конвертим рекурсивно файлы из кодировки Windows в Юникод из каталога $1
export TMP_F=`mktemp`
trap "rm -f $TMP_F" EXIT
find "$1" -name \*.txt -print|while read x
do
echo $x
iconv -f cp1251 -t utf8 "$x">$TMP_F && cat $TMP_F > "$x"
done