Com deslocamento de bytes para um arquivo.
Existe uma ferramenta que fornece o número da linha para este byte?
- Contagem de bytes começando com zero, como em: primeiro byte é 0 e não 1.
- Número da linha começando com 1.
- O arquivo pode ter texto simples, blobs "binários", caracteres multibyte etc. Mas a seção em que estou interessado: Fim do arquivo, possui apenas ASCII.
Exemplo, arquivo:
001
002
003 <<-- first zero on this line is byte 8
004
Tendo byte offset 8que me daria linha 3.
Acho que eu poderia usar algo assim para encontrar o número da linha:
uma. tail -c+(offset + 1) file | wc -l, aqui +1como tailconta a partir de 1.
b. wc -l file
c. Então tail -n+num onde numestáa - b + 1
Mas ... existe uma ferramenta bastante comum que possa me fornecer numdiretamente?
Editar, errar: ou o mais óbvio:
head -c+offset file | wc -l
0x0abytes.
:echo byte2line(offset+1).
vim -be vim+ set binary+ arquivo aberto ele foi corrompido. (Ah. De repente, lembro-me de qual plugin estraga tudo). Mas, de qualquer maneira, como eu uso isso em lotes e em combinação com uma variedade de scripts, o Vim foi abandonado cedo. Mas +1 de qualquer maneira.
0xaqualquer lugar. O conceito de linhas em um arquivo binário não tem sentido.