46
46
如何使用*nix命令行工具将多个文件转换为UTF-8编码?
可能的重复: 批量转换编码或行结束的文件 我有一堆文本文件,我想把任何给定的字符集转换为UTF-8编码。
有什么命令行工具或Perl(或你选择的语言)单行程序可以让我来完成这个任务吗?
可能的重复: 批量转换编码或行结束的文件 我有一堆文本文件,我想把任何给定的字符集转换为UTF-8编码。
有什么命令行工具或Perl(或你选择的语言)单行程序可以让我来完成这个任务吗?
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的一个子集),但是为了回答你关于如何在编码之间转换的问题。