我有一个非常大的文件,其中包含n行文本(n为<1000),一行为空行,然后是大量无类型二进制数据.
我想提取前n行文本,然后以某种方式提取二进制数据的确切偏移量.
提取第一行很简单,但我如何获得偏移?bash不是编码意识,所以只计算字符数是没意义的.
grep有一个-b输出字节偏移量的选项.
例:
$ hexdump -C foo
00000000 66 6f 6f 0a 0a 62 61 72 0a |foo..bar.|
00000009
$ grep -b "^$" foo
4:
$ hexdump -s 5 -C foo
00000005 62 61 72 0a |bar.|
00000009
Run Code Online (Sandbox Code Playgroud)
在最后一步中,我使用5而不是4来跳过换行符.
也适用于文件中的变音符号(äöü).