如何在终端中查找包含特定文本的文件

如何在终端中查找包含特定文本的文件

我想查找包含特定文本字符串的所有文件。如何在终端中执行此操作?

答案1

grep -r 'text goes here' path_goes_here

答案2

使用聚光灯

mdfind "text goes here"
mdfind -onlyin /home/user/Desktop -live "live update"

别忘了看看:

man mdfind

答案3

  1. 通过Ack
brew install ack 
ack "text goes here"
  1. 通过查找
find . |grep "text goes here"
  1. 通过 grep
grep -RnslI "text goes here"

答案4

Ignacio 的回答很棒,帮助我找到了包含特定文本的文件。我遇到的唯一问题是,运行此命令时会列出所有文件,包括未显示模式的文件。

No such file or directory这是我在不包含模式的文件旁边看到的内容。

如果您-s在命令中添加内容,如: 使用grep -lr "text pattern" ./ -sgrep -lr "text pattern" [PATH DIRECTORY] -s它将仅显示哪些文件包含该模式。

类似地,如果使用grep -nr "text pattern" ./ -sgrep -nr "text pattern" [PATH OF DIRECTORY] -s命令,它会打印文件加上行号和模式的出现。

如果我的理解有误,请纠正我。

参考:如何让 grep 不打印出“没有这样的文件或目录”错误?

相关内容