GNU sed (适用于 Windows) 可以处理 Unicode 吗?如果可以,是代码页/语言环境问题,还是开关问题?

GNU sed (适用于 Windows) 可以处理 Unicode 吗?如果可以,是代码页/语言环境问题,还是开关问题?

我已经断断续续使用 GNU SED 好几年了。它有时会让我有点晕头转向,但它确实做得很好……对于单字节字符集!
我时不时注意到 GNU SED 可以识别 Unicode,但我见过最接近这种识别的是它的“二进制”模式……而二进制不是 Unicode。GSED
能否以 CodePoint 解析处理 Unicode 文本文件,包括并尤其是 \r\n (Windows)……如果可以,它是否需要 UTF-8、UTF-16 还是其他?SED 如何检测编码?

答案1

我对 sed 了解不多,但经过一番努力的 Google 搜索后,它似乎通过 LANG 环境变量支持各种代码页。我相信在没有 LANG 的情况下,UTF-8 实际上是默认的。但我不知道 Windows 端口是如何设置的。我确实强烈怀疑 sed 对输入流根本没有执行任何检测处理。

资料来源:https://stackoverflow.com/questions/67410/why-does-sed-fail-with-international-characters-and-how-to-fix http://omgili.com/mailinglist/cygwin/cygwin/com/20100520123926GA1432onderneming10xs4allnl.html

您还可以尝试如下所述的转义字符:http://forums.whirlpool.net.au/forum-replies-archive.cfm/841095.html 但这看起来很麻烦。

相关内容