如何在特定文件类型中搜索特定文本?

Phi*_*lip 15 linux grep find file-types recursive

可能的重复:
如何在源文件中搜索某些文本?

在当前目录下递归搜索特定文件类型中的特定文本的命令是什么?

Fop*_*ush 12

find . -type f -name '*.extension' | xargs grep "string"
Run Code Online (Sandbox Code Playgroud)

此命令在本地目录 (.) 上为名称与模式 *.extension 匹配的任何文件运行find,然后在find的结果上为“string”运行grep。请注意,find本质上是递归的。只要您可以根据名称区分您想要的文件和不需要的文件,这应该对您有用。

  • 这打破了包含空格的文件名,您应该使用 `print0` 选项以更安全。 (2认同)

MaQ*_*eod 0

要列出文件名、指定文件中的行号以及显示文本的行:

for x in *.xxx; do [ -r $x ] | cat $x | grep -n TEXT | xargs printf "$x:%s\n";done
Run Code Online (Sandbox Code Playgroud)

它只会在当前目录中运行,但它会为您很好地格式化它。