我有一个很大的排序文件,其中包含数十亿行可变长度的行。给定新行,我想知道如果已包含在已排序文件中,它将获得哪个字节数。
例
a\n
c\n
d\n
f\n
g\n
给定输入“ foo”,我将得到输出9。
仅通过遍历整个文件就很容易做到这一点,但是由于数十亿行可变长度,执行二进制搜索会更快。
这样的文本处理工具已经存在了吗?
编辑:
现在可以了:https : //gitlab.com/ole.tange/tangetools/blob/master/bsearch/bsearch
您要搜索的行多长时间(以字符为单位)?您需要搜索多少行?
—
gogoud 2015年
@gogoud我不是在寻找一种有限的工具,而是一种适用于任何文本文件的工具(无论行长或行数)。
—
Ole Tange
对于那些可能希望产生如此巨大输入的人:unix.stackexchange.com/a/279098/9689
—
Grzegorz Wierzowiecki