是否存在仅匹配以 null 结尾的 C 字符串的“字符串”变体?

是否存在仅匹配以 null 结尾的 C 字符串的“字符串”变体?

我遇到了一种情况,似乎它必须已经在某个地方有一个已实施的解决方案,但我很难找到一个解决方案。我正在寻找功能或多或少与strings(来自 binutils)完全相同的东西,但仅当可打印字符的运行也以空字节结尾时才匹配。作为一个额外的问题,我需要在每场比赛旁边打印十六进制偏移量(la strings -tx)。

我见过一个类似的问题询问如何使用grep.我想如果我能找到一种方法来grep像那样输出十六进制偏移量,那么类似的东西就可以工作strings -tx。但在我看来,在某个地方应该存在一个已经可以本地执行此操作的工具。

答案1

基于类似的问题,grep可以输出小数偏移量。您可以使用 awk 将它们转换为十六进制。

grep -Eboz '[[:print:]]{4,}$' inputfile |
awk '{i=index($0,":");printf "%7x %s\n",$0+0,substr($0,i+1)}'

相关内容