0

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

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

^A二进制字符在哪里001

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

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

4

2 回答 2

0

尝试这样做:

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

所以 :

$ grep --binary-files=text -oP '\^\K[^\^]+(?=\^)' file.txt
A2013.04.03-09:35:04
于 2013-04-03T14:17:25.613 回答
0

您应该能够通过简单地键入control-A您希望它出现的位置在命令行中包含 control-A。在最坏的情况下,您可能需要control-V在它之前输入。您还可以使用bashANSI-C 引用来探索符号,例如$'\001'.

于 2013-04-03T14:31:38.117 回答