可変長の数十億行を含む大規模なソートファイルがあります。新しい行が与えられたら、その行がすでにソートされたファイルに含まれている場合に取得できるバイト数を知りたいです。
はい
a\n
c\n
d\n
f\n
g\n
入力「foo」が与えられると、出力9が得られる。
ファイル全体を繰り返してこれを行うのは簡単ですが、可変長の行が数十億個あるため、バイナリ検索を実行する方が高速です。
そのようなテキスト処理ツールはすでに存在していますか?
編集する:
今これです:https://gitlab.com/ole.tange/tangetools/blob/master/2search
ベストアンサー1
(これはあなたの質問に対する正解ではなく、ただの始点です。)
使ったスグレフ(ソートされたgrep)同様の状況で。
残念ながら(現在の状態が必要です)バイトオフセット出力はありませんが、簡単に追加できると思います。