如何使用egrep查找包含字符串的文件

Tol*_*lga 5 linux grep find

我想在linux下找到包含特定字符串的文件.我尝试了类似但不能成功的事情:

找 .-name*.txt | egrep mystring

Pao*_*sco 12

在这里,您将文件名(输出find command)作为输入发送到egrep; 你真的想在文件的内容上运行egrep.

这里有几个选择:

find . -name "*.txt" -exec egrep mystring {} \;
Run Code Online (Sandbox Code Playgroud)

甚至更好

find . -name "*.txt" -print0 | xargs -0 egrep mystring
Run Code Online (Sandbox Code Playgroud)

检查find命令帮助以检查单个参数的作用.
第一种方法将为每个文件生成一个新进程,而第二种方法将多个文件作为参数传递给egrep; 需要-print0和-0标志来处理可能讨厌的文件名(例如,即使文件名包含空格,也允许正确地分隔文件名).