ads

"Делай что можешь с тем, что имеешь, там, где ты есть". Теодор Рузвельт

понедельник, 23 декабря 2013 г.

Перекодировка файлов в каталоге из Windows-1251 в UTF-8

Еще один конвертор на 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