假设我知道someFile.php包含someFunction(). 我将如何在标准输出中显示整个函数体?如果我知道主体有 10 行长,那么我会使用cat someFile.php | grep -A 10 "function someFunction"[1] 但实际上该函数可以是任意长度。
我想sed我可以使用 Vimesque 命令,例如/function someFunction<Return>/{<Return>%[2],但我不知道如何格式化它。理想情况下,函数之前的 PHPDoc 将与函数一起输出。
任何帮助或指向适当的精美手册的链接将不胜感激。谢谢!
[1] 我知道这cat是多余的,但我发现这种格式更容易阅读。
[2] 找到函数定义,到左大括号,到右大括号
识别出现在函数末尾但不在函数体中的正则表达式。
^}可能会工作。
sed –n '/function someFunction/,/^}/p' someFile.php
Run Code Online (Sandbox Code Playgroud)
显然,如果函数之前的 PHPDoc 以某个唯一字符串开头,您将使用它而不是/function someFunction/. 否则,就没有那么容易了;可能与awk.