grep通过二进制文件

时间:2013-04-03 14:13:52

标签: regex grep

我有一个二进制文件,其中包含以下格式的行:

blabla^A2013.04.03-09:35:04^Ablabla

其中^A是二进制字符001

我希望能够执行一个grep,它只会给我^A(不是整行)之间的内容。

我知道标志-o仅用于匹配,但我不知道如何搜索该二进制字符

2 个答案:

答案 0 :(得分:0)

尝试这样做:

grep --binary-files=text pattern file.txt

所以:

$ grep --binary-files=text -oP '\^\K[^\^]+(?=\^)' file.txt
A2013.04.03-09:35:04

答案 1 :(得分:0)

您只需在要显示的位置键入 control-A ,就可以在命令行中包含control-A。在最坏的情况下,您可能需要在它之前键入 control-V 。您还可以使用bash的{​​{3}} $'\001'来探索符号,例如{{1}}。