我想在我的硬盘中找到一个包含特定单词的文本文件。
在Ubuntu 12.4之前,我曾经在dash中启动一个应用程序,我认为它被称为“搜索文件...”,其图标是一个放大镜。我再也找不到那个简单的应用程序了。
是否有任何实用程序可以在 ASCII 文件中搜索字符串以避免命令行搜索?
如何进行命令行搜索,例如搜索目录中所有文件中的字符串“test” /var/x/?
所以我想要一些非常简单的 :) 应用程序,我在其中放置了一个要搜索的目录,以及一个字符串/正则表达式以在该目录中递归搜索文件内容,并提供结果列表。
我不想要像在后台运行并索引事物的“跟踪器”之类的东西,我想要一些像 grep 那样按需搜索的东西,给定路径。
在 Windows 中,我使用了 grepWin,它非常适合此目的。
我试过KFileReplace,好像有点别扭。还尝试了内置的 Nautilus 搜索,但它似乎只查看文件名?
编辑: gnome-search-tool 看起来更像我正在寻找的东西,但它不支持正则表达式(或者它支持,但只支持文件名)。
grep 命令选项我想在我的整个驱动器中搜索一个字符串。按照我使用的Stack Overflow 中接受的答案:
sudo time grep -rnw '/' -e 'Sony 50"'
Run Code Online (Sandbox Code Playgroud)
在最快的 PCIe NVMe M.2 SSD 之一上处理 20 GB 数据需要53 小时;三星 Pro 960。
grep 输出日志在grep处理某些文件时,它会生成错误消息。这些可以通过附加2>/dev/null到命令来抑制。然而,这些错误会反馈正在取得的进展。一些示例输出(它不会全部适合)如下:
Binary file /home/Me/.config/google-chrome/Default/Sync Data/SyncData.sqlite3 matches
grep: /sys/kernel/security/ima/policy: Permission denied
grep: /sys/kernel/slab/:dt-0000008/alloc_calls: Function not implemented
grep: /sys/kernel/slab/:dt-0000008/free_calls: Function not implemented
(... SNIP ... 12 hours later PID 882 processed below...)
grep: /proc/882/task/922/attr/sockcreate: Invalid argument
grep: /proc/882/task/923/mem: Input/output error
(... SNIP ... 24 hours later PID …Run Code Online (Sandbox Code Playgroud)