Программа iconv служит для переконвертирования файлов из одной кодировки в другую.
Узнать, какие кодировки доступны, можно командой
iconv --list
Наиболее часто используемые кодировки - CP1251, KOI8-R, UTF-8, UTF-16.
Синтаксис команды следующий
iconv -f KOI8-R -t CP1251 file.txt
- эта команда будет перекодировать файл file.txt из KOI8-R в CP1251, и результат будет выводить в консоль.
iconv -f KOI8-R -t CP1251 file.txt -o outfile.txt
- эта команда будет перекодировать файл file.txt в файл outfile.txt.
Внимание! В качестве выходного файла нельзя указывать исходный файл, так как в этом случае исходный файл будет обнулен. Для того чтобы переконвертировать файл, не создавая новый файл, можно использовать команду вида
iconv -f KOI8-R -t CP1251 file -o tmpfile && mv tmpfile file
Пример скрипта, который переконвертирует файлы в директории и её поддиректориях:
f=`find . -name \*.cpp -or -name \*.c -or -name \*.h`
for file in $f
do
iconv -f KOI8-R -t UTF8 $file -o tmpfile && mv tmpfile $file
done