具有文件的字节偏移量。
有没有提供此字节行号的工具?
- 字节计数从零开始,例如:第一个字节为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任何地方。二进制文件中的行的概念是没有意义的。