答案1
find . -type f -name '*.extension' | xargs grep "string"
此命令运行寻找在本地目录 (.) 中查找任何名称与模式 *.extension 匹配的文件,然后运行grep在结果中查找“string”寻找。 注意寻找本质上是递归的。只要你可以根据名称区分你想要的文件和你不想要的文件,这种方法就对你有用。
答案2
列出文件名、指定文件中的行号以及出现文本的行:
for x in *.xxx; do [ -r $x ] | cat $x | grep -n TEXT | xargs printf "$x:%s\n";done
它只会在当前目录中运行,但会为您很好地格式化。