2009-08-01 00:29:36 +0000 2009-08-01 00:29:36 +0000
46
46

Как я могу преобразовать несколько файлов в кодировку UTF-8 с помощью инструментов командной строки *nix?

Дубликация возможна:

Пакетное преобразование файлов для кодировки или окончания строки

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

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

Ответы (1)

56
56
56
2009-08-01 01:25:17 +0000

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), а для того, чтобы ответить на ваш вопрос о том, как конвертировать между кодировками.

Похожие вопросы

6
10
5
37
1