Byte-Offset für eine Datei.
Gibt es ein Tool, das die Zeilennummer für dieses Byte angibt?
- Byteanzahl beginnend mit Null, wie in: Das erste Byte ist 0, nicht 1.
- Zeilennummer beginnend mit 1.
- Die Datei kann sowohl einfachen Text als auch "binäre" Blobs, Multibyte-Zeichen usw. enthalten. Der Abschnitt, an dem ich interessiert bin: Dateiende, enthält jedoch nur ASCII.
Beispiel, Datei:
001
002
003 <<-- first zero on this line is byte 8
004
Ein Byte-Offset 8, der mir eine Zeile geben würde 3.
Ich schätze, ich könnte so etwas verwenden, um die Zeilennummer zu finden:
ein. tail -c+(offset + 1) file | wc -l, Hier +1als tailZählungen von 1.
b. wc -l file
c. tail -n+num Wo numist dann ?a - b + 1
Aber ... gibt es ein ziemlich verbreitetes Werkzeug, das mir numdirekt zur Verfügung stehen kann?
Bearbeiten, äh: oder das offensichtlichere:
head -c+offset file | wc -l
0x0aBytes getrennt sind .
:echo byte2line(offset+1).
vim -bund vim+ set binary+ geöffneter Datei wurde es beschädigt. (Ah. Plötzlich erinnere ich mich, welches Plugin es vermasselt). Aber trotzdem, da ich dies in Stapeln und in Kombination mit einer Reihe von Skripten verwende, wurde Vim früh aufgegeben. Aber trotzdem +1.
0xaüberall sein. Das Konzept der Zeilen in einer Binärdatei ist bedeutungslos.