我遇到了一种情况,似乎它必须已经在某个地方有一个已实施的解决方案,但我很难找到一个解决方案。我正在寻找功能或多或少与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)}'