gpt4 book ai didi

utf-8 - 为什么 grep 命令对 UTF-16 LE 编码的文本文件不起作用?

转载 作者:行者123 更新时间:2023-12-02 16:55:28 24 4
gpt4 key购买 nike

我想将一个文本文件中以某个字符串开头的所有行保存到另一个文本文件中。所以,我使用这个 grep 命令来做到这一点:

grep '^This' input.txt > output.txt

但输出文件 output.txt 是空的,尽管文件 input.txt 中有很多行以单词“this”开头。我的一位导师建议文件 input.txtUTF-16 LE 格式,并要求我将其更改为 UTF-8。然后命令运行良好。

为什么 grep 命令对 UTF-16 LE 格式的文件不起作用?

最佳答案

grep 不支持编码。它不搜索“字符”,而是搜索字节。您的控制台正在向 grep 发送 UTF-8/ASCII 编码文本(在本例中与字符串“^This”相同)以进行搜索。如果文件包含 UTF-16 编码文本,则不会匹配,因为字节表示不同。

关于utf-8 - 为什么 grep 命令对 UTF-16 LE 编码的文本文件不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56596902/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com