LinuxForum.Fans
Тема

рекурсивное преобразование кодировки

Автор: Silencer 2 сообщений 488 просмотров
#359769

Как это сделать рекурсивно для всех файлов в папке?
пробуя так вот:
[console]$ iconv -f WINDOWS-1251 -t UTF-8 *[/console]
говорит что вложенные папки файлами не являются и иди убейся абстенко
в скриптах не силен

#359772

Есть средство поудобнее — enca:

text
find . -type f -exec enca -c {} \;

У iconv есть один недостаток: файл читается, конвертируется и выводится в stdout, поэтому если использовать iconv, нужно скриптик наподобие:

text

#!/bin/bash

for i in $(find . -type f) ; do tempfile=`mktemp -p /tmp` iconv -f cp1251 -t utf8 $i > $tempfile mv $temptile $i done

PS. А что в «Других линуксах» тема-то? Перенес в «Общие вопросы».

Войдите или зарегистрируйтесь, чтобы ответить.