find / grep命令显示文件名和java包

时间:2014-06-25 07:34:44

标签: linux shell grep find

基本上我想只在文件夹中存在的java文件中找到一个字符串(递归)并希望显示它们的文件路径以及"包"包含字符串的相应java文件。

find . -name '*.java' -print0 | xargs -0 grep -l 'SRO'

我上面写的命令会搜索字符串' SRO'并打印这些文件的文件路径。

请为此建议使用shell脚本命令。

1 个答案:

答案 0 :(得分:0)

这应该有效:

for file in `find -name "*.java"`
do
    if [ "`grep SRO $file`" != "" ]
    then
        echo "Path: `dirname $file`"
        echo "Package: `grep package $file`"
    fi
done