45

Возможный дубликат:
Пакетное преобразование файлов для кодирования или окончания строки

У меня есть куча текстовых файлов, которые я хотел бы преобразовать из любой заданной кодировки в кодировку UTF-8.

Существуют ли какие-либо инструменты командной строки или Perl (или язык по вашему выбору), которые я могу использовать для этого в массовом порядке?

1 ответ1

55

iconv конвертирует многие кодировки символов. Таким образом, добавив немного магии Баш, и мы можем написать

for file in *.txt; do
    iconv -f ascii -t utf-8 "$file" -o "${file%.txt}.utf8.txt"
done

Это приведет к запуску iconv -f ascii -t utf-8 для каждого файла, оканчивающегося на .txt , и отправит перекодированный файл в файл с тем же именем, но заканчивающийся на .utf8.txt вместо .txt .

Дело не в том, что на самом деле это что-то сделает с вашими файлами (потому что ASCII - это подмножество UTF-8), а в том, чтобы ответить на ваш вопрос о том, как конвертировать кодировки.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .