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

标签 linux shell grep find

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

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

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

请建议同样的 shell 脚本命令。

最佳答案

这应该有效:

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

关于linux - find/grep 命令显示文件名和 java 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24402768/

相关文章:

linux - 在用户选择的文件中查找单词的 Shell 脚本

linux - 在 CD 上运行的 Grep 脚本

c - 为什么我必须先声明一个不相关的 struct file_handle 变量才能使用该类型?

c - 最近的 GTK 3.22 是否仍然对 Boehm GC 友好(线程问题)?

python - 如何在Python shell脚本中使用pipenv?

bash - 在 bash shell 中打印星号 ("*")

windows - 在任何操作系统启动之前运行代码?

python - 使用 Microsoft Visual Studio 附加到 Linux 进程?

macos - 使 bash 脚本显示系统事件对话框,然后获取其结果并在 if 语句中使用它

linux - 使用 grep 识别模式