![是否有一个可以索引目录的工具,以便执行廉价的内容搜索?(例如,按单词进行散列)](https://linux22.com/image/804433/%E6%98%AF%E5%90%A6%E6%9C%89%E4%B8%80%E4%B8%AA%E5%8F%AF%E4%BB%A5%E7%B4%A2%E5%BC%95%E7%9B%AE%E5%BD%95%E7%9A%84%E5%B7%A5%E5%85%B7%EF%BC%8C%E4%BB%A5%E4%BE%BF%E6%89%A7%E8%A1%8C%E5%BB%89%E4%BB%B7%E7%9A%84%E5%86%85%E5%AE%B9%E6%90%9C%E7%B4%A2%EF%BC%9F%EF%BC%88%E4%BE%8B%E5%A6%82%EF%BC%8C%E6%8C%89%E5%8D%95%E8%AF%8D%E8%BF%9B%E8%A1%8C%E6%95%A3%E5%88%97%EF%BC%89.png)
我经常grep -R
在整个目录树上使用这个工具来查找包含指定单词的所有文件。我想知道是否有一个工具可以让整个操作更快,也许是通过散列?(Unix 系统!)。如果它可以优化正则表达式匹配就更好了。
谢谢!-Francesco
答案1
除了 grep 或 find,我不知道还有什么工具可以做到这一点。使用 find(可能与 xargs 结合使用)可能会提高速度,以便只搜索感兴趣的文件类型(例如,跳过二进制文件)。这将是我的下一步,在 grep 上运行“time”,然后在 find 命令上运行“time”,并比较结果。