bash:cat 文件的第一行并获取位置

标签 bash file cat

我有一个非常大的文件,开头包含 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

在最后一步中,我使用 5 而不是 4 来跳过换行符。

也适用于文件中的变音符号 (äöü)。

关于bash:cat 文件的第一行并获取位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5754501/

相关文章:

linux - awk 命令不输出(awk : error cant open source file)

python - Pickle 和 Unpickle dict w/list 作为值

c# - 当值 > 127 时 BinaryWriter.Write(byte value) 问题

linux - 如何在 linux 中垂直 cat 文件?

sorting - 按日期合并多个日志文件,包括多行

linux - 在 linux/unix 中处理多个文件并附加它们

git - 在 Docker 中的 Jenkins 构建脚本中调用 Git

bash - 如何在 bash 中获得 0 到 999999999 之间的随机数 (/dev/random)?

在 C 中从 bash 创建 AST

python - Django 1.7 request.FILES 'None' 未验证(is_valid())