如何在Ubuntu上按内容搜索


8

我想按内容搜索整个服务器。(文本文件)

当我尝试grep -rl“ text here”时,它冻结了。

你会怎么做?

通常需要多长时间?

Answers:


17

使用该grep命令时需要指定一个文件。使用您正在使用的命令,您正在搜索标准输入...

尝试grep -r "test" directory


7
find / -name "*.txt" -exec grep "text here" {} \; -print 2>/dev/null

可以用人类的语言解释为:

  1. 从...开始 /
  2. 在所有名为* .txt的文件中(引号用于绕过Shell解释)
  3. 根据产生的匹配,执行以下操作
  4. grep“在这里测试”
  5. 在文件{}中
  6. exec(\;)的结尾转义了语句的结尾
  7. 打印匹配的文件
  8. 在接收器中重定向错误消息(因为您可能不是root用户,否则请对其进行sudo)。

它说:“找到:缺少'grep'的论点”
webnat0 2011年

在这里工作。您如何替换“在这里测试”?
Alain Pannetier'2

1
@Daeyun:只有一个反斜杠。
暂停,直到另行通知。

1
@丹尼斯 取决于您的母语。在日本和韩国,有几种字符集,其中的反斜杠也被表示为日元符号或黄氏符号(0x5c)。另外,请查看u + 20E5。过去,IIS中存在多种漏洞利用,您可以通过混合使用斜杠和假斜杠(在ascii计划中向下转换的其他等效unicode)进行斜杠,并且至少可以探索PC的整个磁盘(IIS根于IIS)。一种使用反向固相线覆盖。
Alain Pannetier

0

您忘记指定要搜索的文件类型,请
确保以root用户身份登录

cd /
grep -rl "text here" *  > /tmp/match.txt

这将花费很长时间,您可以稍后通过检查/tmp/match.txt来收集结果


0

以下命令在当前工作目录和所有子目录中搜索所有以.txt结尾的文件:

find . -type f -name '*.txt' -exec grep -Hn "text here" {} \;

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.