Có byte bù cho một tập tin.
Có một công cụ cung cấp số dòng cho byte này không?
- Số byte bắt đầu bằng 0, như trong: byte đầu tiên là 0 chứ không phải 1.
- Số dòng bắt đầu bằng 1.
- Tệp có thể có cả văn bản đơn giản, các đốm màu "nhị phân", các ký tự đa dòng, v.v. Nhưng phần tôi quan tâm: Kết thúc tệp, chỉ có ASCII.
Ví dụ, tập tin:
001
002
003 <<-- first zero on this line is byte 8
004
Có byte bù 8
sẽ cho tôi dòng 3
.
Đoán tôi có thể sử dụng một cái gì đó như thế này để tìm số dòng:
a. tail -c+(offset + 1) file | wc -l
, Đây +1
là tail
đếm từ 1.
b. wc -l file
c. Sau đó, tail -n+num
nơi num
làa - b + 1
Nhưng ... có một công cụ khá phổ biến có thể cung cấp cho tôi num
trực tiếp không?
Chỉnh sửa, err: hoặc rõ ràng hơn:
head -c+offset file | wc -l
0x0a
byte.
:echo byte2line(offset+1)
.
vim -b
và vim
+ set binary
+ mở tệp, nó đã bị hỏng. (Ah. Đột nhiên tôi nhớ lại plugin nào làm nó rối tung lên). Nhưng, dù sao đi nữa, khi tôi sử dụng nó theo đợt và kết hợp với một loạt các kịch bản, Vim đã sớm bị bỏ rơi. Nhưng dù sao +1.
0xa
bất cứ nơi nào. Khái niệm các dòng trong một tệp nhị phân là vô nghĩa.