IAm*_*aja 4 linux grep hex-editors
我的网络应用程序显示了一些奇怪的输出(不应该存在的 unicode 字符等)。我能想到的最好的方法是我在源代码中的某处引入了一个坏字符,但我不知道在哪里。
我发现这个答案表明我可以执行以下操作:
grep -obUaP "<\x-hex pattern>" .
Run Code Online (Sandbox Code Playgroud)
当我将 unicode 字符从浏览器中复制到我的Bless十六进制编辑器中时,它告诉我字符的确切字节是:
15 03 01 EF BF BD 02 02
如何格式化<\xhex pattern>以匹配我需要的确切字节。我试过:
grep -obUaP "<\x-15 03 01 EF BF BD 02 02>" .
Run Code Online (Sandbox Code Playgroud)
但这不起作用。想法?
再次检查帖子。FrOsT 在他的实际 grep 命令中不包括“<”和“>”。他只用克拉来附上一个示例语句。他的实际陈述是这样的:
"\x01\x02"
Run Code Online (Sandbox Code Playgroud)
不是:
"<\x01\x02>"
Run Code Online (Sandbox Code Playgroud)
我的计算机上有一个以以下行开头的 C 源文件:
#include <stdio.h>
Run Code Online (Sandbox Code Playgroud)
当我跑
grep -obUaP '\x69\x6E\x63\x6C\x75\x64\x65' io.c
Run Code Online (Sandbox Code Playgroud)
我得到
1:include
Run Code Online (Sandbox Code Playgroud)
也就是说,行号后跟仅匹配模式的字符串。
你可能想跑
man grep
Run Code Online (Sandbox Code Playgroud)
并找出所有这些选项的含义。