如何使用linux中的find打印与我的文本匹配的行?

Edu*_*rdo 6 linux printing find

您好我正在使用此命令在linux中的文件中查找文本

find ./ -type f -exec grep -l "Text To Find" {} \;
Run Code Online (Sandbox Code Playgroud)

该命令工作正常,但我想自动打印包含文本的行,或者如果可能的话,文本上方的两行和文本后面的两行.

还欢迎另一个查找文本和打印行而不是使用find的建议,

非常感谢提前.

mle*_*rle 16

find ./ -type f -exec grep -Hn "Text To Find" {} \;
Run Code Online (Sandbox Code Playgroud)

使用-A和-B标志在匹配之前和之后打印行:

find ./ -type f -exec grep -Hn -A1 -B1 "Text To Find" {} \;
Run Code Online (Sandbox Code Playgroud)

你也可以使用grep:

grep -R -Hn -A1 -B1 "Text To Find" *
Run Code Online (Sandbox Code Playgroud)