我的网络应用程序正在显示一些奇怪的输出(不应该存在的unicode字符等)。我能想到的最好的是,不知怎的,我在源代码中的某个地方引入了一个错误的字符,但我无法弄清楚在哪里。
我发现this answer表示我可以执行以下操作:
grep -obUaP "<\x-hex pattern>" .
当我将unicode char从浏览器中复制到我的Bless十六进制编辑器中时,它告诉我char的确切字节是:
15 03 01 EF BF BD 02 02
如何格式化<\xhex pattern>
以匹配我需要的确切字节。我试过了:
grep -obUaP "<\x-15 03 01 EF BF BD 02 02>" .
但这并不奏效。想法?
答案 0 :(得分:3)
再次检查帖子。 FrOsT不包括'&lt;'和'&gt;'在他实际的grep命令中。他只使用克拉来附上一个例子陈述。他的实际陈述如下:
"\x01\x02"
不
"<\x01\x02>"
我的计算机上有一个以源代码开头的C源文件:
#include <stdio.h>
当我跑步时
grep -obUaP '\x69\x6E\x63\x6C\x75\x64\x65' io.c
我得到了
1:include
也就是说,行号后面只有 匹配模式的字符串。
您可能想要运行
man grep
并找出所有这些选项的含义。