我有一个二进制文件,其中包含以下格式的行:
blabla^A2013.04.03-09:35:04^Ablabla
其中^A
是二进制字符001
。
我希望能够执行一个grep,它只会给我^A
(不是整行)之间的内容。
我知道标志-o
仅用于匹配,但我不知道如何搜索该二进制字符
答案 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}}。