我在二进制文件(包括grep
标志)上使用-a
命令,并希望输出--binary-offset
或-b
标志而不实际打印匹配,因为二进制数据对我来说没用,导致终端行为异常(我的猜测是终端将一些二进制解释为终端命令)。
目前,我正在使用命令:
dd ... 2>/dev/null | grep -abFf - file_to_search
在dd
file_to_search
的结果)
输出如下:
offset:[large string of binary characters]
如何只打印偏移量(没有大的二进制字符串)?
答案 0 :(得分:2)
“二进制大字符串”里面的内容不是很清楚,但是 在行的开头加一个额外的“grep -o Number”可能会做你想要的:
dd ... 2>/dev/null | grep -abFf - file_to_search | grep -oP '^\d+:'
如果您只想要第一个偏移:
...| grep -oP -m 1 '^\d+:'