【问题标题】:How to read files with different encodings using Awk?如何使用 awk 读取不同编码的文件?
【发布时间】:2011-12-11 01:34:59
【问题描述】:

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

我有一个希伯来文/Windows-1255 编码的文件。 一个简单的 {print $0} awk 会打印出类似的东西。 如何让它正确读取?

【问题讨论】:

  • 这很可能与您的终端和 awk 一样多。

标签: character-encoding awk


【解决方案1】:

awk 本身不支持处理不同的编码。它将遵循环境中指定的语言环境,但最好的办法是将输入转码为正确的编码,然后再将其交给 awk。

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

iconv -c -f cp1255 -t utf8 somefile | awk ...

【讨论】:

  • 另请注意,awk 文件本身(或像awk '{print $0 "äöü"}' 这样的 CLI)必须采用正确的编码,否则也可能会影响输入文件。
猜你喜欢
  • 2016-03-05
  • 2015-02-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-05
  • 1970-01-01
  • 1970-01-01
  • 2017-11-12
相关资源
最近更新 更多