我处在一个紧张的地方,可以使用一些linux shell脚本来帮助将一个充满管道分隔文件的目录从原始文件编码转换为UTF-8。源文件是US-ASCII或ISO-8859-1文件编码。我能想出的最接近的事情是:
iconv -f ISO8859-1 -t utf-8 * > name_of_utf8_file
这会将所有文件压缩到单个文件中,这对于此应用程序来说是不需要的。问题是我需要同时指定源文件和目标文件编码,因此对于一半文件我不知道它的作用。有没有办法使用file -i
之类的命令编写shell脚本。
非常感谢任何建议。
答案 0 :(得分:3)
这是,(没有经过适当测试,需要警告:),一种方法:
也许首先尝试使用一个小子集 - 这更像是一个思维示例,而不是一个交钥匙解决方案。
for i in *
do
if $( file -i "${i}"|grep -q us-ascii ); then
iconv -f us-ascii -t utf-8 "$i" > "${i}.utf8"
fi
if $( file -i "${i}"|grep -q iso-8859-1 ); then
iconv -f iso8859-1 -t utf-8 "$i" > "${i}.utf8"
fi
done