我有一个二进制文件,其中包含以下形式的行:
blabla^A2013.04.03-09:35:04^Ablabla
^A
二进制字符在哪里001
。
我希望能够执行一个 grep,它只会给我介于^A
(而不是整行)之间的内容。
我知道该标志-o
仅用于匹配,但我不知道如何搜索该二进制字符
尝试这样做:
grep --binary-files=text pattern file.txt
所以 :
$ grep --binary-files=text -oP '\^\K[^\^]+(?=\^)' file.txt
A2013.04.03-09:35:04
您应该能够通过简单地键入control-A您希望它出现的位置在命令行中包含 control-A。在最坏的情况下,您可能需要control-V在它之前输入。您还可以使用bash
的ANSI-C 引用来探索符号,例如$'\001'
.