Stupid Asked: 2019-06-07 06:21:49 +0800 CST2019-06-07 06:21:49 +0800 CST 2019-06-07 06:21:49 +0800 CST 如何使用 unicode 值 grep 字符? 772 我在文本文件中有 Unicode 字符 ᚠ,由其 Unicode 代码点 16A0 表示(文本文件被编码(?)为 utf-8)。 当我这样做时,grep '\u16A0' test.txt我没有得到任何结果。我如何 grep 那个字符? grep regular-expression 2 个回答 Voted Best Answer pLumo 2019-06-07T06:52:28+08:002019-06-07T06:52:28+08:00 您可以使用ANSI-C 引用来替换 ANSI C 标准指定的反斜杠转义字符。 grep $'\u16A0' 对于一些更复杂的示例,您可以参考这个相关问题及其答案。 Dr. Alex RE 2020-01-14T13:04:53+08:002020-01-14T13:04:53+08:00 您可以使用ugrep作为 grep 的替代品来匹配 Unicode 代码点 U+16A0: ugrep '\x{16A0}' test.txt 它采用与 grep 相同的选项,但提供了更多功能,例如: ugrep 搜索 UTF-8/16/32 输入和其他格式。选项 -Q 允许搜索许多其他文件格式,例如 ISO-8859-1 到 16、EBCDIC、代码页 437、850、858、1250 到 1258、MacRoman 和 KIO8。 ugrep默认匹配 Unicode 模式(使用 -U 选项禁用)。正则表达式模式语法是符合 POSIX ERE 的扩展,具有类似 PCRE 的语法。选项 -P 也可用于与 Unicode 模式匹配的 Perl。 有关详细信息,请参阅GitHub 上的 ugrep。
您可以使用ANSI-C 引用来替换 ANSI C 标准指定的反斜杠转义字符。
对于一些更复杂的示例,您可以参考这个相关问题及其答案。
您可以使用ugrep作为 grep 的替代品来匹配 Unicode 代码点 U+16A0:
它采用与 grep 相同的选项,但提供了更多功能,例如:
有关详细信息,请参阅GitHub 上的 ugrep。