У мене великий файл, що містить один рядок у кожному рядку. Я хотів би мати можливість швидко визначити, чи є рядок у файлі. В ідеалі це можна зробити за допомогою алгоритму типу двійкового відбивання.
Деякі Googling виявили lookкоманду з -bпрапором, яка обіцяє знайти та вивести всі рядки, починаючи з заданого префікса, використовуючи алгоритм двійкового пошуку. На жаль, це, здається, не працює належним чином, і повертає нульові результати для рядків, які я знаю, є у файлі (вони належним чином повертаються при еквівалентному grepпошуку).
Хтось знає про іншу утиліту або стратегію для ефективного пошуку цього файлу?
look -bне вдалося для мене з помилкою File too large. Я думаю, що це намагається прочитати всю річ на пам'ять.
lookкоманда функціонувала правильно, тому що зовнішній вигляд ігнорує локаль і просто використовує C, як сортування жорстко кодованого, я також відкрив помилку через цю заплутану поведінку: bugzilla.kernel.org/show_bug.cgi?id=198011