grep能否以UTF-8格式输出结果?

grep能否以UTF-8格式输出结果?,utf-8,grep,posix,Utf 8,Grep,Posix,无论输入文件的编码是什么,都可以用UTF-8对grep命令的输出进行编码吗 我在python脚本(子流程)中执行grep语句,并希望确保生成的字节是UTF-8 例如: grep -P "ÄA" -m -1 file.txt 我不知道文件的输入编码…Grep如下,也就是说,它做了一件事,而且它做得很好。文件编码不是这件事的一部分 这就是其他工具的用途。还有一种工具可以很好地进行字符解码和编码,称为。使用该选项将输入文件的编码更改为UTF-8 这需要您知道输入文件的编码。如果您不知道,则必须根据对

无论输入文件的编码是什么,都可以用UTF-8对grep命令的输出进行编码吗

我在python脚本(子流程)中执行grep语句,并希望确保生成的字节是UTF-8

例如:

grep -P "ÄA" -m -1 file.txt
我不知道文件的输入编码…

Grep如下,也就是说,它做了一件事,而且它做得很好。文件编码不是这件事的一部分

这就是其他工具的用途。还有一种工具可以很好地进行字符解码和编码,称为。使用该选项将输入文件的编码更改为UTF-8

这需要您知道输入文件的编码。如果您不知道,则必须根据对输入文件的启发式分析进行猜测(很难确定,识别出使用错误编解码器解码的内容通常需要人工验证结果)。还有一种工具,叫做。此工具还可以在进行猜测后进行转换。它通常是一个单独的安装(它不是通用默认POSIX工具集的一部分)。有关更多选项,请参见超级用户

但是,请注意,由于编解码器猜测工具需要使用统计分析进行猜测,因此最好对输入文件进行猜测,而不是对
grep
的输出进行猜测

当然,这些都与Python无关。除非你想用Python来做编码检测,在这一点上你会想看看.Grep,也就是说,它做了一件事,而且它做得很好。文件编码不是这件事的一部分

这就是其他工具的用途。还有一种工具可以很好地进行字符解码和编码,称为。使用该选项将输入文件的编码更改为UTF-8

这需要您知道输入文件的编码。如果您不知道,则必须根据对输入文件的启发式分析进行猜测(很难确定,识别出使用错误编解码器解码的内容通常需要人工验证结果)。还有一种工具,叫做。此工具还可以在进行猜测后进行转换。它通常是一个单独的安装(它不是通用默认POSIX工具集的一部分)。有关更多选项,请参见超级用户

但是,请注意,由于编解码器猜测工具需要使用统计分析进行猜测,因此最好对输入文件进行猜测,而不是对
grep
的输出进行猜测


当然,这些都与Python无关。除非您想在Python中执行编码检测,此时您需要查看。

不,这不是grep的工作。有一种不同的重新编码工具:
iconv
。此外,“无论输入文件的编码是什么”,都不可能重新编码。您只能使用已知的编码重新编码某些内容,您可以显式地选择一种。您可以使用工具猜测编码,但猜测可能是错误的。@MartijnPieters thx:对于说明,我考虑过,但不确定:-)不,那不是grep的工作。有一种不同的重新编码工具:
iconv
。此外,“无论输入文件的编码是什么”,都不可能重新编码。您只能使用已知的编码重新编码某些内容,您可以显式地选择一种。您可以使用工具猜测编码,但猜测可能是错误的。@MartijnPieters thx:对于说明,我考虑过,但不确定:-)