有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

以模式在Linux中搜索Java文件

我不熟悉Linux搜索。但是需要编写一个脚本或命令来搜索一个文件夹中所有遵循特定模式的java文件(可以在其中包含其他目录)

public class ${key} extends ${key}

其中变量${key}是文件名

一些示例:
让文件名为Foo。JAVA 搜索模式:public class Foo extends foo。 其他变体:public class Foo extends com.example.foo

该脚本稍后需要进行调整,以执行其他Java文件内容搜索

编辑:
我还需要选择${key},也就是说,我需要存储不带扩展名或路径的文件名,然后将其插入到命令中。类似于我们所做的事情(在c/java中):"public class" + fname + " extends " + " fname "

输出可以是: ./src/com/foo/bar.java:public class foobar extends com.foo.foobar


共 (1) 个答案

  1. # 1 楼答案

    我建议大家看看如何使用find命令,并将其连接到grep命令

    find /directory -iname *.java | grep -e "class ${key}"
    

    你也可以做一些类似的事情来找到扩展它的类。你可以查看regex,找到如何使它更灵活地处理新行和其他空白字符