我有一个搜索查询,可以是Java文件的任何一行,我只是想发现该行所属的方法。
I've found a similar question for C functions
以下awk命令工作正常,但我无法使用regex表达式来查找Java方法签名。
awk -v re='return' '/^[[:alpha:]]/{f=FNR"-"$0} $0~re{printf "%s\n%d:%s\n--\n",f,FNR,$0; f="" }' file
用于查找Java方法签名的正则表达式:
(public|protected|private|static|\s) +[\w\<\>\[\]]+\s+(\w+) *\([^\)]*\)
如果查询不是任何方法的一部分,正则表达式将返回一个空结果,我可以解析它。