使用java文件中的sed命令替换两条注释行之间的行

时间:2016-03-03 05:09:21

标签: bash sed

我使用的是Ubuntu 14.04。我需要使用sed命令替换java(使用JDK-8)文件中的这部分代码 -

//START_EDIT1
some lines
//END_EDIT1

这行代码。

//START_EDIT1
System.out.println("Done");
//END_EDIT1

我是新手,找不到合适的命令在java代码中找到这两条注释,并使用sed命令替换它们之间的代码。我无法更改java注释格式。有没有办法使用sed命令找到它?或者只是找到双正斜杠评论的sed命令是什么?

2 个答案:

答案 0 :(得分:1)

使用GNU sed:

sed '/\/\/START_EDIT1/,/\/\/END_EDIT1/c\//START_EDIT1\nSystem.out.println("Done");\n//END_EDIT1' file

如果您要“就地”修改文件,请使用sed的选项-i

答案 1 :(得分:0)

为什么你不能用vi和ESC :%s/START_EDIT1/System.out.println\(\"Done\"\)\;/g 再次为:%s/END_EDIT1//g

你也可以用sed实现同样的目标。但这与Java无关。