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

如何使用*nix命令行工具将多个文件转换为UTF-8编码?

可能的重复: 批量转换编码或行结束的文件 我有一堆文本文件,我想把任何给定的字符集转换为UTF-8编码。

有什么命令行工具或Perl(或你选择的语言)单行程序可以让我来完成这个任务吗?

答案 (1)

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

iconv可以在许多字符编码之间进行转换。所以加入一点bash魔法,我们可以写

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的一个子集),但是为了回答你关于如何在编码之间转换的问题。