如何正确读取Awk中UTF8以外的编码文件?

我有希伯来语/ Windows-1255编码的文件。 一个简单的{print $ 0} awk打印像<!>#65533;这样的东西。 我怎样才能正确阅读?

有帮助吗?

解决方案

awk本身对处理不同的编码没有任何支持。它将遵循环境中指定的语言环境,但最好的办法是在将输入转换为awk之前将输入转码为正确的编码。

-f是要转换的格式,-t是目标格式,-c跳过任何过早终止iconv操作的无效字符。当然--help会提供更多细节。

iconv -c -f cp1255 -t utf8 somefile | awk ...
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top