Her satırda bir dize içeren büyük bir dosya var. Hızlı bir şekilde dosyada bir dize olup olmadığını belirlemek istiyorum. İdeal olarak, bu bir ikili kesme türü algoritması kullanılarak yapılacaktır.
Bazı Google çalışanları, bir ikili arama algoritması kullanarak belirli bir önekle başlayan tüm dizeleri bulmayı ve çıkarmayı vaat look
eden -b
bayrağı içeren komutu ortaya çıkardı . Ne yazık ki, düzgün çalışmıyor gibi görünüyor ve dosyada olduğunu bildiğim dizeleri için null sonuçlar döndürür (eşdeğer grep
arama tarafından düzgün döndürülür ).
Herkes bu dosyayı verimli bir şekilde aramak için başka bir yardımcı program veya strateji biliyor mu?
look -b
bir hata ile benim için başarısız oldu File too large
. Sanırım her şeyi belleğe okumaya çalışıyor.
look
komutun düzgün çalışması için sort -d , çünkü görünüm yerel ayarı görmezden geliyor ve sadece sabit kodlu sıralama gibi C kullanıyor, ben de bir hata açtım Bu kafa karıştırıcı davranış nedeniyle: bugzilla.kernel.org/show_bug.cgi?id=198011