具有文件的字节偏移量。
有没有提供此字节行号的工具?
- 字节计数从零开始,例如:第一个字节为0而不是1。
- 行号以1.开头
- 文件可以同时包含纯文本,“二进制” blob,多字节字符等。但是我感兴趣的部分:文件结尾,仅包含ASCII。
示例文件:
001
002
003 <<-- first zero on this line is byte 8
004
具有字节偏移量8
将使我行3
。
猜猜我可以用这样的东西来找到行号:
一个。tail -c+(offset + 1) file | wc -l
,这里+1
为tail
从1计数
湾 wc -l file
C。那么tail -n+num
这里num
是a - b + 1
但是...是否有可以num
直接给我的相当普遍的工具?
编辑,错误:或更明显的是:
head -c+offset file | wc -l
2
二进制文件没有行。
—
库沙兰丹
@Kusalananda:在此上下文中,行是用
—
user367890
0x0a
字节分隔的数据。
可能不是您要的内容,但Vim具有此功能。它从1开始计算偏移量
—
聪桂
:echo byte2line(offset+1)
。
@SatoKatsura:是的,谢谢。首先尝试使用vim。不过,即使
—
user367890
vim -b
和vim
+ set binary
+打开文件就被损坏了。(啊,突然我想起哪个插件搞砸了)。但是,无论如何,由于我成批使用它,并与一系列脚本结合使用,Vim早就被放弃了。但是无论如何+1。
@ user367890二进制文件可以在
—
user207421 '02
0xa
任何地方。二进制文件中的行的概念是没有意义的。