Перекодування файлів

Поширте інформацію:

Свої перші сайти я написав у кодуванні Windows-1251. Це, звісно, було неправильно і спричинило проблеми у майбутньому. Довелося перекодовувати всі файли в каталозі і його підкаталогах на UTF-8. Але в Linux це зробити легко за допомогою команд iconv та find.

Зберігаємо малесенький скрипт у файлі cp1251_to_utf8.sh, який перекодовує один файл за допомогою iconv.

echo $1
cat $1 | iconv -f CP1251 -t UTF-8 >> /tmp/$$.cv && mv /tmp/$$.cv $1

Далі застсовуємо цей скрипт рекурсивно до всіх файлів за допомогою команди find.

$ chmod +x cp1251_to_utf8.sh
$ find . -path ".svn" -prune -o type f -exec cp1251_to_utf8.sh {} \;

-path “.svn” -prune – потрібно для того, щоб пропускати файли у службових каталогах subversion (мої файли зберігаються під цією системою керування версіями).

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

Цей сайт використовує Akismet для зменшення спаму. Дізнайтеся, як обробляються ваші дані коментарів.