Forums / National / Russian / Скрипт массовой конвертации файло

unix shell

medar
#1 2008-10-25 19:27
Я когда-то тестил Linux и MacOs для полного перехода на них (в итоге остался на винде), и с тех пор остался файлик массовой конвертации своих php-исходников из windows-1251 в utf-8.

Скрипт неизящный - я совершенно не знаю bash и цикл по выбранным расширениям файлов у меня не заработал. Пришлось сделать тупо:
#!/bin/bash
# Convert text files recursively from cp1251 to utf-8

for i in `find ./ -type f -name '*.php'`; do
        iconv -f cp1251 -t utf-8 $i >> $i.utf
	mv $i.utf $i
        echo "Convert " $i
done

for i in `find ./ -type f -name '*.txt'`; do
        iconv -f cp1251 -t utf-8 $i >> $i.utf
	mv $i.utf $i
        echo "Convert " $i
done

for i in `find ./ -type f -name '*.tpl'`; do
        iconv -f cp1251 -t utf-8 $i >> $i.utf
	mv $i.utf $i
        echo "Convert " $i
done

for i in `find ./ -type f -name '*.html'`; do
        iconv -f cp1251 -t utf-8 $i >> $i.utf
	mv $i.utf $i
        echo "Convert " $i
done
Этот скрипт, будучи положен в папку на unix-серваке и запущен, конвертирует 1251->utf все найденные файлы php, txt, tpl и html в данной папке и в подпапках.
Как добавить свое расширение файлов в эту систему, надеюсь, понятно из кода :)

Надеюсь, это будет полезным, для приведение в utf исходников старых плагинов, например.

Да, и обязательно делайте бэкап, а лучше держите этот .sh файлик в отдельной папке.
rangjungyeshe.ru
This post was edited by medar (2008-10-25 19:38, 15 years ago)
esclkm
#2 2008-12-13 20:53
я делал у себя по другому:
денвер на денвере седитио.
открыл поиск по маске tpl и php
Открыл найденные файлы в emeditor
включил принудительное сохранение в utf8
ондим кликом нажал сохранить все.
Готово.
littledev.ru - мой маленький зарождающийся блог о котонти.
снижение стоимости программирования и снижение стоимости производства разные вещи. Первое можно скорее сравнить с раздачей работникам дешевых инструментов, чем со снижением зарплаты