我是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
答案 0 :(得分:0)
我建议您查看使用find命令并将其传递给grep命令。
find /directory -iname *.java | grep -e "class ${key}"
你可以做类似的事情来找到扩展它的类。您可以查找正则表达式,以了解如何使其更灵活地用于新行和其他空白字符。