如何在轻量级Linux发行版上查找全文文件

如我所知,KDE带有Nepomuk,除其他外,它使我们可以非常轻松地搜索文件或程序。 只需开始输入名称,它们就会消失。 在Unity或GNOME中也会发生类似的情况。 通过进行一些调整,其中一些甚至可以使您在文件中进行搜索(英文中称为“全文本搜索”)。 那些曾经使用Windows 7的人也会知道我在说什么:只需输入一个单词,就会出现相关的文件或程序。

在较轻的发行版上,这很难实现。 但是,我要教你的方法非常轻(根据这种类型的发行版)并且有效。

选择启动器:dmenu

我的首选是尝试不依赖于特定环境或发行版的启动器。 我的意思是Synapse(现在很流行),Gnome-Do,Kupfer等。 他们都有共同的一件事:他们无法执行“全文”搜索(即在文件内)。 此外,它们还带有许多其他插件,对我的贡献不大。 更不用说,它们不是“极简主义者”并且不够轻巧。

使用Openbox,Enlightenment或类似工具的人可能知道dmenu。 那些从未使用过的人,建议您访问此 旧帖子 解释其主要特征。 简而言之,它是一款超简约,超轻的应用程序启动器。 不仅如此,我不知道的是,如果配置正确,它也可以用来显示我们传递给它的任何列表的元素。 这一发现为许多可能性打开了大门...

要在Arch中安装dmenu,只需打开一个终端并运行:

苏多·帕克曼-S dmenu

安装Recoll

第二个发现是Recoll。 我们的朋友菲科 谈论他 几个月前,我推荐阅读该文章。

Recoll是一款非常轻巧的工具,独立于任何桌面环境,可让您搜索全文(“全文”)。 显然,为此,您将需要首先为文件建立索引,这可能需要一段时间,但是在完成初始索引编制后,其余更新不会花费很长时间。

Recoll是一个图形界面,易于使用且具有许多选项,已在QT中设计并基于搜索引擎 Xapian的.

您还在使用定位,查找或or鱼吗? 哈! 我一直在读...

要在Arch和衍生产品上安装Recoll,请执行以下操作:

yaourt -S recoll

您会注意到recoll有很多软件包作为可选依赖项:

  • libxslt:用于基于XML的格式(fb2等)
  • 解压缩:用于OpenOffice.org文档
  • xpdf:用于pdf
  • pstotext:用于postcipt
  • 反词:用于msword
  • catdoc:适用于ms excel和powerpoint
  • unrtf:用于RTF
  • untex:使用dvips的dvi支持
  • djvulibre:用于djvu
  • id3lib:用于id3info支持的mp3标签
  • python2:用于使用一些过滤器
  • 诱变剂:音频元数据
  • python2-pychm:CHM文件
  • perl-image-exiftool:原始文件中的EXIF数据
  • aspell-en:支持英语词干

安装这些软件包将使Recoll可以为相应文件类型的内容建立索引。 例如,反词,允许Recoll索引.DOC文件的内容,等等。

要安装的其他组件的选择取决于您的需求以及计算机上存储的文件类型的多样性。 但是,请不要失望,因为Recoll在为我们的文件建立索引后会建议安装哪些组件以提高其有效性。

如何使用Recoll

首次启动Recoll时,将显示以下屏幕。 如果您只想索引您的家庭(全部),只需单击 立即开始编制索引.

整理主屏幕

整理主屏幕

Recoll具有强大的搜索功能。 除了输入要搜索的单词外,它还允许布尔搜索与邻近性子句一起辅助,过滤文件类型或位置。 它还允许Xesam兼容搜索(按字段)和按日期过滤。

程序在执行搜索和显示结果时的响应速度也令人惊讶,并且对于它们显示这些结果,确定最相关的文档,提供的搜索词并包括预览的方式也很有趣。

在下图中,我决定将结果显示在表格中,尽管Recoll默认情况下带有另一种样式来显示结果,但更加完整和更具描述性。

Recoll的搜索结果

Recoll的搜索结果

要查看丢失的软件包,以便Recoll可以对文件执行完全索引,只需转到 文件>显示缺少的助手.

缺少其他组件

缺少其他组件

En 首选项>索引安排 您可以配置文件索引调度。 显然,为了使Recoll正常工作,它需要索引所有文件(或至少索引您感兴趣的文件夹中的文件,通常是HOME)。 为此,有3种选择:手动编制索引(我的首选方法), cron的 或在系统启动时编制索引。

Recoll中的索引编制程序

Recoll中的索引编制程序

魔术:将Recoll和dmenu结合在一起……可能吗?

是的,是的。 诀窍是要知道dmenu不仅可以列出应用程序,还可以列出我们传递给它的所有内容。 您只需要弄清楚如何使用终端搜索Recoll并将结果传递到dmenu。

通过简单的方法就可以实现魔术,否则就可以实现魔术 脚本,其作者是Massimo Lauria,我不敢稍加修改以将其翻译成西班牙语。

下载脚本

保存文件(例如, search-recoll.sh)。 赋予它执行权限(须藤chmod +到fetch-recoll.sh),并为其分配适当的组合键。 在Openbox中,这是通过编辑文件来实现的 〜/ .config / openbox / rc.xml 或通过图形界面 笨蛋.

最终结果:使用很少的资源进行全文搜索。 正如Bambino Veira所说:“美丽!”

输入搜索文字时的dmenu

输入搜索文字时的dmenu

dmenu,显示recoll返回的结果

dmenu,显示recoll返回的结果

雅帕

使用Ubuntu的用户可以通过Recoll的Lens获得类似的结果。 为此,必须添加相应的PPA并安装以下软件包:

sudo add-apt-repository ppa:recoll-backports / recoll-1.15-on sudo apt-get更新sudo apt-get安装recoll sudo apt-get安装recoll-lens

发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。

  1.   拉夫

    简直很棒的U_U

  2.   让我们使用linux

    没错...🙂而且它比您钟爱的KDE更快更轻...哈哈!

    1.    拉夫

      可能是,但我不会为任何事情更改集成的Dolphin搜索引擎。 😉

      1.    让我们使用linux

        啊……是的……海豚还有别的什么……主要的词汇。

  3.   阿隆索桑蒂14

    以及在gnome中如何配置它,以便它执行您所说的“全文本搜索”?
    希望您能为我提供帮助,因为如果我希望能够以这种方式搜索文件。

    1.    让我们使用linux

      我不使用GNOME,但是如果我没记错的话,它附带了一个称为Tracker的工具,可用于进行全文搜索。
      干杯! 保罗

      1.    阿隆索桑蒂14

        好的,谢谢,我现在正在寻找有关Tracker的信息。

  4.   冈萨雷斯(#Bik'it Bolom#)

    很高兴知道这些解决方案。 谢谢。

    1.    让我们使用linux

      对于您,请发表评论。 😉

  5.   马克西米89

    就我而言,我知道所有发行版中都有一个非常简单的东西……它是«updatedb»,然后使用«locate file»,它非常容易并且非常轻巧

    1.    埃利奥时间3000

      是的,但是有时候走很长一段路很有趣。

    2.    让我们使用linux

      那是不对的。 使用locate和updatedb无法搜索全文。
      干杯! 保罗

  6.   贡萨_212

    很好的帖子,有趣的信息...我正在测试。
    我进入页面下载最后剩下的脚本,但是出现错误,如果您可以再次上传它,我将不胜感激。

    非常感谢,问候!

    🙂

    1.    让我们使用linux

      它运作良好。 再试一次 ...

      1.    贡萨_212

        非常感谢,现在我可以下载它。

        的问候!

        🙂

  7.   贡萨_212

    抱歉,但是我已经在计算机上尝试过了,但对我来说不起作用。 我有带PekWM管理器的ArchLinux(没有桌面环境)…但是看来该脚本不起作用。 有人可以帮我吗?

    非常感谢,问候!

  8.   让我们使用linux

    您能指定一个更好的方法吗?

    1.    贡萨_212

      事实是我不知道它是否会运行...在PekWM管理器中有一个名为«keys»的文件(位于目录/home/usuario/.pekwm/中),其中的热键(或键盘快捷键)已配置,因此我将脚本分配给了Ctrl + F组合键,但是我不知道执行该命令的语法是否正确。

      我向您展示如何编写与该键组合相对应的行:

      KeyPress =“ Ctrl F” {操作=“执行`sh search-recoll.sh`”}

      注意:search-recoll.sh脚本位于我的家中,即/ home / myuser /

      但是,当按Ctrl + F时,什么都没有发生……我尝试修改该行,以便它执行dmenu而不是脚本,并且可以正常工作。

      我做的另一件事是在终端中运行脚本,当它执行后,向我显示以下内容:

      $ sh search-recoll.sh
      search-recoll.sh:第39行:语法错误,预计文件末尾

  9.   贡萨_212

    很抱歉给您带来不便,我已经解决了这个问题。 发生的事情是我从粘贴中下载了该脚本,因此该脚本使用的编码存在问题。 因此,必须要做的就是复制所有内容并将其粘贴到一个空文件中,以免产生任何不便。

    一千个歉意,还是非常感谢您。

    的问候!