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

unix shell

medar
#1 25. Oktober 2008, 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

Dieser Beitrag wurde von medar (am 25. Oktober 2008, 19:38, vor 15 Jahre) bearbeitet
esclkm
#2 13. Dezember 2008, 20:53
я делал у себя по другому:
денвер на денвере седитио.
открыл поиск по маске tpl и php
Открыл найденные файлы в emeditor
включил принудительное сохранение в utf8
ондим кликом нажал сохранить все.
Готово.
littledev.ru - мой маленький зарождающийся блог о котонти.
снижение стоимости программирования и снижение стоимости производства разные вещи. Первое можно скорее сравнить с раздачей работникам дешевых инструментов, чем со снижением зарплаты