排序文本文件内的最佳命令行搜索

排序文本文件内的最佳命令行搜索

假设我有一个文本文件,其中包含按字母顺序排序的数十亿文本行,例如

Bar=10
Foo=6
Naz=42

如何以最佳方式搜索以Foo最优化的方式开始的行(文件包含数十亿个这样的变量),知道行按字母顺序排序并且我想要查找的行必须开始(或“包含”,如果更容易搜索) for)特定文本?


编辑:

这个问题可以被认为是重复的https://askubuntu.com/q/423886/10473 答案是使用look 足够快的速度来进行此类研究

答案1

我不知道这将如何扩展到您正在谈论的卷,但它似乎适用于包含以下内容的文件:

Foo=123
Foobar=646
Foobar=85489
Noo=8654
Noobar=8262
awk -F= '{if ($1 > "Foobar") { exit } ; if ($1 == "Foobar") { print $0 } }' sorted.txt

这只是一个概念证明。适应是一件简单的事情,因此您要匹配的术语会被传入。

相关内容