【发布时间】:2018-07-31 22:13:03
【问题描述】:
研究 gzip 格式时,我尝试在示例存档中 grep 其神奇字节 1f 8b。我使用了来自this答案的手册。
$ xxd a.gz
00000000: 1f8b 0800 43dc 605b 0003 4bcb cf4f 4a2c ....C.`[..K..OJ,
00000010: e202 0047 972c b207 0000 00 ...G.,.....
$ grep -obUaP "\x1f" a.gz
0:
$ grep -obUaP "\x8b" a.gz
# nothing is printed
由于某种原因,grep 找到一个字节而没有找到另一个。经过一番调查,我们盲目猜测它在设置了最高有效位的字节上失败了,但是我们找不到任何合理的解释。
为什么会这样?有解决方法吗?
【问题讨论】:
-
可能是因为您的
grep使用 UTF-8。 -
@IgnacioVazquez-Abrams 辉煌。添加 LC_ALL=C 有帮助。请给出答案,以便我接受。