Tôi có một tệp lớn chứa một chuỗi trên mỗi dòng. Tôi muốn có thể nhanh chóng xác định nếu một chuỗi trong tập tin. Lý tưởng nhất, điều này sẽ được thực hiện bằng cách sử dụng thuật toán loại nhị phân.
Một số Googling đã tiết lộ look
lệnh với -b
cờ hứa hẹn sẽ xác định vị trí và xuất tất cả các chuỗi bắt đầu bằng một tiền tố nhất định bằng thuật toán tìm kiếm nhị phân. Thật không may, nó dường như không hoạt động chính xác và trả về kết quả null cho các chuỗi mà tôi biết có trong tệp (chúng được trả về đúng bởi grep
tìm kiếm tương đương ).
Có ai biết về một tiện ích hoặc chiến lược khác để tìm kiếm tập tin này một cách hiệu quả không?
look -b
thất bại với tôi với một lỗi File too large
. Tôi nghĩ rằng nó đang cố đọc toàn bộ vào bộ nhớ.
look
lệnh hoạt động chính xác, vì có vẻ như bỏ qua miền địa phương và chỉ sử dụng C như sắp xếp mã hóa cứng, tôi cũng đã mở một lỗi vì hành vi khó hiểu này: bugzilla.kernel.org/show_orms.cgi?id=198011