【问题标题】:Grep search for binary datagrep 搜索二进制数据
【发布时间】:2023-03-17 03:31:01
【问题描述】:

为什么这个命令有效

echo -ne "\x74\x79\xf4"|grep -aPo "\x74\x79"

这不是吗?

echo -ne "\x74\x79\xf4"|grep -aPo "\x74\x79\xf4"

【问题讨论】:

  • 可能是因为 \xf4 是某种非 ASCII 字符或什么的? echo -ne "\x74\x79\xf4" | LC_ALL=C grep -aPo "\x74\x79\xf4" 应该可以工作
  • echo 'tyô' | grep -aPo "\x74\x79\xf4" 工作

标签: grep pcre


【解决方案1】:

以下将起作用:

echo -ne "\x74\x79\xC3\xB4" | grep -aPo "\x74\x79\xf4"
#                  ^^^^^^^
echo -ne "\x74\x79\u00F4" | grep -aPo "\x74\x79\xf4"
#                 ^^^^^^

\xF4 不是单个字节,它由两个字节组成,C3B4。因此,要在echo 命令中正确编码,您需要使用\xC3\xB4 序列。

使用\u00F4,您可以指定代码单元。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-10
    • 2014-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多