用于文件中文本搜索的软件


Answers:


19

Ubuntu附带有一个非常不错的工具。

  1. 打开Dash(Super键或Ubuntu按钮)并开始输入,直到找到Search for Files

    在此处输入图片说明

  2. 上面是针对Unity(Ubuntu中的默认桌面环境)的。在菜单驱动的环境中,转到Applications-> Accessories->Search for Files

    在此处输入图片说明

  3. 展开该Select more options部分,然后在Contains the text:输入字段中输入要搜索的文本。

    在此处输入图片说明

特征:

  • 100%GUI
  • 您可以搜索文件名或内容
  • 它确实在子文件夹中。

考虑到您的情况(没有终端命令,易于使用的界面),我认为没有更好的选择。

PS:在Contains the text:输入字段上为“。” 字符是通配符。要转义它,您必须使用'[]'。例如:键入Contains the text: [.]myFunction以搜索.myFunction


是的,我看不到我可以添加详细信息
Santosh Linkha 2011年

1
是的,您可以...只需单击“选择更多选项”,不仅可以包含“包含文本”,还可以具有大量其他搜索选项(日期,用户,文件大小,甚至正则表达式)。我也很想念这个小
动物

这与我之前建议的相同gnome-search-tool
Mikl

@Octavian:感谢您提供屏幕截图!
MestreLion 2011年

@Mikl:相同的结果,不同之处在于如何调用它:最初的解决方案集中在命令行调用(或ALT + F2)上,并且仅在菜单上也有简短提及。没有说出菜单的位置或程序名。只有在我发布答案后,您才编辑您的答案以提供菜单路径和名称。对于新手来说,面向菜单的方法总是比CLI调用更好。仅当菜单中没有该软件时,才应使用ALT + F2。
MestreLion 2011年


9

您可以使用

find . -name '*.*' -exec grep -Hn 'text to find' '{}' \;

-名称“ *。*”或“ * .txt”(在此处使用文件掩码)
“查找文本”(在此处放置要查找的文本)

find . -type f -exec grep -Hn 'text to find' '{}' \;

如果要搜索所有文件


对于所有文件,请勿使用,-name '*.*'因为文件并不总是具有扩展名。使用-type f代替(用于搜索所有文件)。替换{}"{}",否则将无法正确搜索其中带有空格的文件名。
Lekensteyn'3

@Lekensteyn我已编辑我的帖子。但我对名称中带有空格且使用{} witout引号时没有错误的文件进行了一些测试。
Mikl

刚刚也测试过了,您是对的,空格不是问题。在某些外壳中,可能仍需要使用引号来防止外壳扩展。来自man find:“这两个结构都可能需要转义(以'\'表示),或使用引号将其保护起来,以防止它们被外壳扩展。”
Lekensteyn 2011年

9

GUI(图形)工具:

gnome-search-tool

你可以在Ubuntu主菜单中找到它

Menu -> Accessories -> Search for Files

或使用热键ALT + F2运行它


1
只是较新的Ubuntu版本的更新:在Unity界面(Ubuntu 12或更高版本)上,单击Dash Home(工具栏上的第一个图标),键入“搜索”,然后选择“搜索文件”应用程序。
josircg 2013年

9

我是searchmonkey的粉丝(GPL,免费,跨平台,对资源的了解很少且非常快)。

在此处输入图片说明


看起来不错。由于在我的账单上票数最高的答案很适合在Ubuntu上使用,因此可以在其他平台上尝试一下。
Amol Gawai 2012年

似乎它在64位操作系统上不起作用(我在Win 7 64位上遇到了问题)。对我来说,这是一个大问题,因为我到处都使用64位操作系统。看起来很有希望。
Amol Gawai 2012年

@AmolGawai在这里的ubuntu 64bit上工作完美...
Aquarius Power


3

图形搜索:

在Kubuntu中打开“海豚”,然后单击“编辑”->“查找”(Ctrl + F)

从文件名更改为内容,然后从查找位置进行调整。


2

Recoll会建立索引,您可以对文档和电子邮件进行全文搜索。


查看50.000个文件夹很麻烦:D如果您不索引数据,那么如果您不能购买SSD磁盘,请安装任何索引工具,然后再浪费时间查找文件。做一次工作。即使不是当前问题的答案,也是一个很好的观点。
m3nda 2015年

1

我将此处的三个建议与64位16.04 Kubuntu进行了比较:

  1. 如今,Searchmonkey可与64位Ubuntu一起使用。它类似于regexxer。它的显示速度很快,但自然比基于索引的搜索要慢得多。
  2. 搜索文件和Alt-F2不适用于KDE Ubuntu版本。
  3. 我的建议是Recoll,并为此添加了一些安装说明。对我来说,默认安装支持PDF(测试此!),DOCX,TAR,ZIP等。

    sudo add-apt-repository "deb http://archive.canonical.com/ $(lsb_release -sc) partner"
    sudo apt-get install recoll antiword
    recoll
    
  4. 第一行可能不是必需的:它添加了伙伴安装存储库。

  5. 反字词是可选的。它需要支持旧的.doc文件。
  6. 如有必要,从Recoll Preferencies启用以下符号链接和根目录。
  7. 使用GUI创建用于Recoll索引的cron作业,或使其在每次登录时启动。
  8. 如果适合,将“首选项”的“ Recoll”设置从“英语”更改为“所有语言”。
  9. 启动索引,至少对我而言这是令人惊讶的快速,并且没有使用所有资源,因此我能够继续使用笔记本电脑。
  10. 到目前为止,我已经发现Recoll的一个错误:如果您使用“ PST”搜索文件名,即使它是大写字母也找不到。“ pst”有效,并且找到大写和小写名称。
  11. https://www.lesbonscomptes.com/recoll/features.html了解有关recoll的更多信息

如果要添加对Outlook PST文件的支持,则还需要执行以下操作。

    sudo apt-get install readpst
    mkdir ~/PST
    find -L ~ -name "*.pst" -print | awk "{ printf \"%s%s %s%s%s %s\\n\", \"mkdir ~/PST/\", \$1, \"; readpst -o ~/PST/\", \$1, \" -D -j 4 -r -tea -u -w\", \$1 }" > /tmp/myPstFiles
    cat /tmp/myPstFiles
    chmod 755 /tmp/myPstFiles
    /tmp/myPstFiles
  1. 如果需要,在find命令中将根目录从〜更改为/。
  2. 我的查找脚本中有一个错误:它现在创建了太长的目录结构。但是对我来说,手动修改临时文件要比找到解决方案容易得多。主要目标是这将适用于多个PST文件,并且可以做到这一点。
  3. http://www.five-ten-sg.com/libpst/rn01re01.htmlhttps://blog.robseder.com/2015/08/29/working-with-a-pst-file了解有关Readpst的更多信息 在Linux /

0

我真的很想介绍一种基于ncurses库的工具,以提供基于文本的用户界面。称为NCGREP(基于ncurses的grep)的工具主要用于在特定文件夹中搜索文本。希望这就是你想要的。该工具的来源已托管在github.com上,有关更多信息,请访问https://github.com/ncgrep/ncgrep

在此处输入图片说明
点击图片查看演示动画

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.