Tôi có một tập tin được sắp xếp lớn với hàng tỷ dòng có độ dài thay đổi. Đưa ra một dòng mới, tôi muốn biết số byte nào sẽ nhận được nếu nó được bao gồm trong tệp được sắp xếp.
Thí dụ
a\n
c\n
d\n
f\n
g\n
Với đầu vào 'foo', tôi sẽ nhận được đầu ra 9.
Điều này rất dễ thực hiện bằng cách chỉ cần đi qua toàn bộ tệp, nhưng là hàng tỷ dòng có độ dài thay đổi sẽ nhanh hơn để thực hiện tìm kiếm nhị phân.
Liệu một công cụ xử lý văn bản như vậy đã tồn tại?
Biên tập:
Hiện tại: https://gitlab.com/ole.tange/tangetools/blob/master/bsearch/bsearch