Grep 查找随机字符串的速度:随机行顺序还是排序?

Grep 查找随机字符串的速度:随机行顺序还是排序?,grep,Grep,我们希望找到一个随机字符串,例如:“ASDF555”。我们有一个非常大的文件,其中包含这个字符串的唯一行。哪一个更快(在时间上,使用简单的grep命令)找到所提到的字符串?如果“大文件”是: 分类 还是随机的 当然,ASDF555可以是任何东西 我们认为以随机顺序排列行会更快,因为字符串也可能是随机的。但我们无法证明这一观点。grep不“知道”您的文件已排序,因此它需要逐行检查,因此排序的事实无关紧要。换言之,文件已排序这一事实不会影响您的搜索速度,您也可以逐行查看文件,直到找到所需的字符串 但

我们希望找到一个随机字符串,例如:
“ASDF555”
。我们有一个非常大的文件,其中包含这个字符串的唯一行。哪一个更快(在时间上,使用简单的grep命令)找到所提到的字符串?如果“大文件”是:

  • 分类
  • 还是随机的
  • 当然,ASDF555可以是任何东西


    我们认为以随机顺序排列行会更快,因为字符串也可能是随机的。但我们无法证明这一观点。

    grep
    不“知道”您的文件已排序,因此它需要逐行检查,因此排序的事实无关紧要。换言之,文件已排序这一事实不会影响您的搜索速度,您也可以逐行查看文件,直到找到所需的字符串


    但是,如果文件确实已排序,则可以实现更好的搜索算法(例如二进制搜索),而不是使用
    grep

    如果你知道这个数字,那么它就不再是随机的了。已排序的文件可实现更快的搜索。