Avere offset di byte per un file.
Esiste uno strumento che fornisce il numero di riga per questo byte?
- Conteggio byte che inizia con zero, come in: il primo byte è 0 non 1.
- Numero di riga che inizia con 1.
- Il file può avere sia testo semplice, BLOB "binari", caratteri multibyte ecc. Ma la sezione che mi interessa: Fine del file, ha solo ASCII.
Esempio, file:
001
002
003 <<-- first zero on this line is byte 8
004
Avere offset di byte 8che mi darebbe la linea 3.
Immagino che potrei usare qualcosa del genere per trovare il numero di riga:
un. tail -c+(offset + 1) file | wc -l, qui +1come tailconta da 1.
b. wc -l file
c. Allora tail -n+num dove numèa - b + 1
Ma ... esiste uno strumento abbastanza comune che può darmi numdirettamente?
Modifica, err: o il più ovvio:
head -c+offset file | wc -l
0x0abyte.
:echo byte2line(offset+1).
vim -be vim+ set binary+ il file aperto è stato danneggiato. (Ah. Improvvisamente ricordo quale plugin lo rovina). Ma, comunque, mentre lo uso in batch e in combinazione con una serie di script Vim è stato presto abbandonato. Ma +1 comunque.
0xaovunque. Il concetto di linee in un file binario non ha senso.