首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >grep能输出UTF-8的结果吗?

grep能输出UTF-8的结果吗?
EN

Stack Overflow用户
提问于 2017-04-07 12:19:46
回答 1查看 3.5K关注 0票数 0

是否可以在UTF-8中编码grep命令的输出,而不管输入文件的编码是什么?

我在python脚本(子进程)中执行grep语句,并希望确保得到的字节为UTF-8。

示例:

代码语言:javascript
复制
grep -P "ÄA" -m -1 file.txt

我不知道文件的输入编码.

EN

回答 1

Stack Overflow用户

发布于 2017-04-07 12:27:48

Grep遵循UNIX哲学,也就是说,它只做一件事,并且做得很好。文件编码不是这一件事的一部分。

这就是其他工具的用途。还有一种很好的字符解码和编码工具,叫做iconv。使用它可以将输入文件的编码更改为UTF-8。

这确实要求您知道输入文件的编码。如果您不知道,您必须根据对输入文件的启发式分析来猜测(很难确定,如果使用了错误的编解码器,通常需要一个人来验证结果)。也有一个工具,叫做enca。这个工具也可以在猜测之后进行转换。它通常是一个单独的安装(它不是常见的默认POSIX工具集的一部分)。有关更多选项,请参见“超级用户”上的如何自动检测文本文件编码?

但是请注意,考虑到编解码器猜测工具需要使用统计分析进行猜测,最好是在输入文件上进行猜测,而不是对grep的输出进行猜测。

当然,这些都与Python无关。但是,如果您想用Python进行编码检测,那么您将需要查看图书馆

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43277993

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档