以模式在Java Files Linux中搜索

时间:2018-02-01 14:36:02

标签: java linux shell grep find

我是Linux搜索新手。但是需要编写脚本或命令来搜索文件夹中的所有java文件(可以在其他目录中),这些文件遵循特定的模式。

public class ${key} extends ${key}

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

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

此脚本需要稍后适用于执行其他Java Files内容搜索。

编辑:
我需要拿起${key},即我需要存储没有扩展名或路径的文件名,然后将其插入命令中。像我们一样(在c / java中):"public class" + fname + " extends " + " fname "

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

1 个答案:

答案 0 :(得分:0)

我建议您查看使用find命令并将其传递给grep命令。

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

你可以做类似的事情来找到扩展它的类。您可以查找正则表达式,以了解如何使其更灵活地用于新行和其他空白字符。