Tener desplazamiento de bytes para un archivo.
¿Existe alguna herramienta que proporcione el número de línea para este byte?
- Recuento de bytes que comienza con cero, como en: primer byte es 0 no 1.
- Número de línea que comienza con 1.
- El archivo puede tener texto sin formato, blobs "binarios", caracteres multibyte, etc. Pero la sección que me interesa: Fin del archivo, solo tiene ASCII.
Ejemplo, archivo:
001
002
003 <<-- first zero on this line is byte 8
004
Tener un byte offset 8me daría una línea 3.
Supongo que podría usar algo como esto para encontrar el número de línea:
a. tail -c+(offset + 1) file | wc -l, aquí +1como tailcuenta desde 1.
b. wc -l file
C. Entonces tail -n+num donde numestaa - b + 1
Pero ... ¿hay una herramienta bastante común que me pueda dar numdirectamente?
Editar, err: o lo más obvio:
head -c+offset file | wc -l
0x0abytes.
:echo byte2line(offset+1).
vim -by vim+ set binary+ archivo abierto se corrompió. (Ah. De repente recuerdo qué plugin lo estropea). Pero, de todos modos, cuando uso esto en lotes y en combinación con una variedad de guiones, Vim fue abandonado temprano. Pero de todos modos +1.
0xacualquier lugar. El concepto de líneas en un archivo binario no tiene sentido.