命令行全文索引?(Command-line fulltext indexing?)

2019-07-30 18:44发布

我们有一个庞大的,老的,可怕的代码库,让当你需要它,它几乎不可能找到的东西。 我们正在努力改进它,肯定......但我经常发现自己做大量的递归里grep通过文件的内容进行搜索,以寻找到的东西被使用。

是否有一个工具,我可以用它来建立的文本文件全文索引目录,然后查询,从命令行?

更希望能在用户空间运行,并且不需要守护的东西。 我们有我们开发服务器上的许多用户,所以我想要的东西,我可以通过我的代码库的情况下进行搜索。

Answer 1:

我是“GID”(又名“ID-utils的”)的大风扇:

  • http://www.gnu.org/software/idutils/manual/idutils.html

用法很简单:

  1. 用你喜欢的包管理器安装ID-utils的(例如,“命令和apt-get安装”或“百胜”)

  2. “CD”到源目录和运行“MKID”的根

  3. 你可以在命令行中使用它

  4. 您也可以从“VIM”或任意数量的其他工具使用。



Answer 2:

拉斯考克斯写了一系列的描述谷歌代码搜索算法是如何工作的文章 。 他重新实现算法的简化版本, 一组命令行工具,可以通过本地代码库做快速的正则表达式搜索 。

另一种方法是使用类似的ctags以在代码使用的标识符的索引。 许多编辑器(包括Vim的,这是我使用)可以使用这个标签文件,以快速跳转到标识符的定义。



Answer 3:

cd /path/to/project
ctags -R 

这将创建一个tags Vim会使用,那么文件:

vim -t someFunctionName

将在函数定义打开VIM!

还有一些键盘快捷键,使生活更简单。

CRTL+] will jump to the definition of the method under the cursor 
CRTL+t will go back


Answer 4:

我有一个类似的需要在大C ++项目。 调查一些工具后,我发现, ID-utils的是最好的选择,因为它是非常快的建立索引和搜索的模式。

根据ID-utils的,我做了一个命令行工具和VIM插件来解决我的需求:

https://github.com/fcamel/gj

希望能帮助到你。



文章来源: Command-line fulltext indexing?