Memiliki byte offset untuk suatu file.
Apakah ada alat yang memberikan nomor baris untuk byte ini?
- Hitungan byte dimulai dengan nol, seperti pada: byte pertama adalah 0 bukan 1.
- Nomor baris dimulai dengan 1.
- File dapat memiliki teks, blob "biner", karakter multibyte, dll. Tetapi bagian yang saya minati: Akhir file, hanya memiliki ASCII.
Contoh, file:
001
002
003 <<-- first zero on this line is byte 8
004
Memiliki byte offset 8
yang akan memberi saya jalur 3
.
Kira saya bisa menggunakan sesuatu seperti ini untuk menemukan nomor baris:
Sebuah. tail -c+(offset + 1) file | wc -l
, Di sini +1
sebagai tail
jumlah dari 1.
b. wc -l file
c. Lalu tail -n+num
di mana num
adalaha - b + 1
Tapi ... adakah alat yang cukup umum yang bisa memberi saya num
langsung?
Edit, sesat: atau lebih jelas:
head -c+offset file | wc -l
0x0a
byte.
:echo byte2line(offset+1)
.
vim -b
dan vim
+ set binary
+ buka file itu bisa rusak. (Ah. Tiba-tiba saya ingat plugin mana yang mengacaukannya). Tapi, bagaimanapun, ketika saya menggunakan ini dalam batch dan dalam kombinasi dengan berbagai skrip, Vim awalnya ditinggalkan. Tapi +1 tetap.
0xa
mana saja. Konsep garis dalam file biner tidak ada artinya.