我需要一个简单的unix实用程序,它允许我快速search文件,并使用基本参数(此文件夹,而不是这种文件…)。
目前我使用grep和许多参数手工制作查找function。 它在小文件夹上速度很快。 问题是我主要使用一个包含大约300k文件的文件夹,然后它太慢了。
我正在寻找的是一个小工具,可以索引这个目录中的文件内容(文本文件),并允许我在这个索引内search(当然也可以显示相关内容)。
我正在寻找的是CLI中unix系统的代理search。
我想,如果可能的话,不必安装太多。 狮身人面像例如太麻烦了,我需要一个轻量级的select。
感谢您的build议。
在你要设置更复杂的东西之前,我不得不问你有没有试过。 这就像grep但旨在弥补其缺点; ack只能通过文本文件自动search并跳过二进制文件等等。
看到ack主页 (如果它已经启动并正在运行,现在看起来并不适合我)或者通过一个包pipe理器来安装它,如果你的发行版有可用的并且给它一个提示。
某些版本的ack主页似乎也在Googlecaching中 。
locate (或workalikes)带有许多Linux系统。 它每天扫描文件系统,所以如果你不想寻求实时的解决scheme,这可能是你的工具。
我的Fedora工作站和CentOS服务器都带有mlocate ,但也有其他几种。
这取决于多less时间等同于“太麻烦”,因为您要么寻找运行时解决scheme,要么挖掘每个文件并从答案中构build数据库。
ack-grep ,正如Janne Pikkaraiined所build议的,在前一类中看起来是一个有用的工具。
tracker (请参阅网站)值得一看,作为一个不必要的全球桌面search与cli工具,但奇怪的查询语法(至less在我眼中); 例如
$> tracker-sparql -q "SELECT nie:url(?f) WHERE { ?f fts:match 'red OR blue yellow' }"
recoll看起来像它可能有一个更容易理解的search语法,并比tracker更可定制。 但是,CLI工具不是默认生成的 。 有趣的是,你也可以构build一个Python API。
这篇文章在linux.com上很有趣。