如何在 Ubuntu 上按内容搜索

web*_*at0 8 linux ubuntu linux-kernel

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

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

你会怎么做?

以及通常需要多长时间?

小智 18

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

试试grep -r "test" directory


Ala*_*ier 8

find / -name "*.txt" -exec grep "text here" {} \; -print 2>/dev/null
Run Code Online (Sandbox Code Playgroud)

这可以用人类语言来解释为:

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