小编ber*_*erg的帖子

优化 GNU grep

我将 egrep ( grep -E) 与 PATTERN 文件一起使用。( -f path/to/file).

这是在文本流的无限循环中完成的。这意味着我无法一次累积并将所有输入传递给 grep(如*.log)。

有没有办法让 grep “保存”它从 PATTERN 文件构建的 NFA 以供下次运行使用?

我已经搜索过谷歌并阅读了文档,但没有运气。

我会试着多解释一下。我需要使用正则表达式来定位固定数量的字符串(这不是问题的一部分,但可以随意提出其他建议),例如 IP 地址、域等。搜索是在来自互联网的提要上完成的。您可以将其视为文本流。我不能grep在所有输入上使用,因为它是一个流。我可以累积一大块流并grep在其上使用(因此不在grep每一行上使用),但这也是有限的(假设为 30 秒)。

我知道grep正在从其所有模式(在我的情况下是从文件)构建 NFA。所以我的问题是:我可以告诉grep为下次运行保存该 NFA,因为它不会改变吗?这将节省我每次构建 NFA 的时间。

grep

8
推荐指数
1
解决办法
1777
查看次数

标签 统计

grep ×1