1 public class HelloWorld {
2 public static void main(String args[]) {
3 System.out.println("Hello World!")
4 }
sed -n -e '/public class/p ' -e '/{/= ' hello.java (p打印对应行的信息,=显示对应行的行号)
执行结果是:
public class HelloWorld {
1
2
只要取得第一个{号的行数,就可以在其后插入内容了。
执行:
sed -n -e '/public class/p ' -e '/{/= ' hello.java | sed -n '2p'
即可获取第一个{行号(假设前面没有包含public及其{的注释)
如果
**public class
** {
**** {
public class HelloWorld {
public static void main(String args[]) {
System.out.println("Hello World!")
}
执行
sed -n -e '/public class/p ' -e '/public class/= ' -e '/{/= ' hello.java | sed -n '2p'
则结果是
**public class
1
2
3
public class HelloWorld {
4
4
5
所以,若想获得public或第一个{,应该是这样子:对打印出来的信息做处理,以public class开头的文本的后面的两个数值,如果相等(4,4),则对应的数值为第一个{行号;如果不相等,则第二个数值为第一个{行号。
本文介绍如何利用sed命令在Java源代码中精确地定位到类定义及首个区块符号的位置,便于进行代码编辑和维护。
1612

被折叠的 条评论
为什么被折叠?



