小编bio*_*ime的帖子

Grep 不匹配非 ASCII 字符

我发现了一个被认为是 UTF-8 编码的文本文件的有问题的序列。奇怪的是 grep 似乎无法匹配这个非 ASCII 行。

\n\n
$ iconv -f utf8 -t iso88591 corrupt_part.txt --output corrupt_part.txt.conv\niconv: illegal input sequence at position 8\n$ cat corrupt_part.txt\nOberallg\xef\xbf\xbdu\n$ grep -P -n \'[^\\x00-\\x7F]\' corrupt_part.txt\n$ od -h corrupt_part.txt\n0000000 624f 7265 6c61 676c 75e4 0a20\n0000014\n
Run Code Online (Sandbox Code Playgroud)\n\n

\\xe4例如,\xc3\xa4在扩展 ASCII 集中也是如此。然而,过滤控制和可打印字符(ascii 范围),上面的 grep 命令应该与\\xe4字符匹配。为什么我没有得到任何 grep 输出?

\n

grep unicode hex

3
推荐指数
1
解决办法
6673
查看次数

标签 统计

grep ×1

hex ×1

unicode ×1