Posiadanie przesunięcia bajtu dla pliku.
Czy istnieje narzędzie, które podaje numer linii dla tego bajtu?
- Liczba bajtów zaczynająca się od zera, jak w: pierwszy bajt to 0, a nie 1.
- Numer linii zaczynający się od 1.
- Plik może zawierać zarówno zwykły tekst, „binarne” obiekty BLOB, znaki wielobajtowe itp. Ale sekcja, która mnie interesuje: Koniec pliku, ma tylko ASCII.
Przykład pliku:
001
002
003 <<-- first zero on this line is byte 8
004
Posiadanie przesunięcia bajtu 8, które dałoby mi linię 3.
Chyba mógłbym użyć czegoś takiego do znalezienia numeru linii:
za. tail -c+(offset + 1) file | wc -l, tutaj +1jak się tailliczy od 1.
b. wc -l file
do. Więc tail -n+num gdzie numjesta - b + 1
Ale ... czy jest jakieś dość powszechne narzędzie, które może mi numbezpośrednio dać ?
Edytuj, err: lub bardziej oczywiste:
head -c+offset file | wc -l
0x0abajtami.
:echo byte2line(offset+1).
vim -bi + otwartym pliku został uszkodzony. (Ach. Nagle przypominam sobie, która wtyczka to popsuła). Ale w każdym razie, ponieważ używam tego w partiach i w połączeniu z szeregiem skryptów, Vim został wcześnie porzucony. Ale i tak +1. vimset binary
0xadowolne miejsce. Pojęcie wierszy w pliku binarnym jest bez znaczenia.