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 8
me 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í +1
como tail
cuenta desde 1.
b. wc -l file
C. Entonces tail -n+num
donde num
estaa - b + 1
Pero ... ¿hay una herramienta bastante común que me pueda dar num
directamente?
Editar, err: o lo más obvio:
head -c+offset file | wc -l
0x0a
bytes.
:echo byte2line(offset+1)
.
vim -b
y 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.
0xa
cualquier lugar. El concepto de líneas en un archivo binario no tiene sentido.