수십억 줄의 가변 길이를 가진 큰 정렬 파일이 있습니다. 새로운 줄이 주어지면 정렬 된 파일에 포함 된 경우 어떤 바이트 번호를 얻게되는지 알고 싶습니다.
예
a\n
c\n
d\n
f\n
g\n
입력 'foo'가 주어지면 출력 9를 얻습니다.
전체 파일을 간단히 살펴보면 쉽게 수행 할 수 있지만 수십억 줄의 가변 길이가 있으면 이진 검색을 수행하는 것이 더 빠릅니다.
그러한 텍스트 처리 도구가 이미 존재합니까?
편집하다:
이제는 https://gitlab.com/ole.tange/tangetools/blob/master/bsearch/bsearch
검색하는 줄이 얼마나 깁니다 (문자)? 그리고 몇 줄을 검색해야합니까?
—
gogoud December
@gogoud 나는 제한된 도구가 아니라 모든 텍스트 파일에서 작동하는 도구를 찾고 있습니다 (줄 길이 또는 줄 수에 관계없이).
—
Ole Tange
그런 거대한 입력을 생성하고자하는 사람들을 위해 : unix.stackexchange.com/a/279098/9689
—
Grzegorz Wierzowiecki