Рекурсивная конвертация кодировки файлов unix cp1251 в utf8

Рекурсивная конвертация кодировки файлов unix cp1251 в utf8


freelanceland
Работа для фрилансеров
#!/usr/local/bin/bash

toEncoding='utf-8'

# Recursive file convertion windows-1251 --> utf-8
# Place this file in the root of your site, add execute permission and run
# Converts *.php, *.html, *.css, *.js files.
# To add file type by extension, e.g. *.cgi, add '-o -name "*.cgi"' to the find command

find . -name "*.php" -o -name "*.html" -o -name "*.css" -o -name "*.js" -type f |
while read file
do
encoding=$(file -b --mime-encoding $file)

if [ $encoding != $toEncoding ]; then
echo " $file - $encoding->$toEncoding "
mv $file $file.icv
iconv -f WINDOWS-1251 -t $toEncoding $file.icv > $file
rm -f $file.icv
fi
done



Меняем кодировку для одного файла.

Узнать кодировку файла
file -i file.txt

Узнав исходную кодировку файла, меняем её с помощью команды:
iconv -f cp1251 -t utf8 исходный.txt -o конечный.txt

Также читают

Рекурсивное изменение прав и владельца группы файлов и каталогов. Unix. chmod. chown
git hooks post-marge - событие после git pull и merge
scp - копирование файлов через ssh

Возврат к списку