2016-03-03 53 views
2

我使用的是Ubuntu 14.04。我需要更換的Java代碼本節中(使用JDK-8)文件中使用sed命令 -在java文件中使用sed命令替換兩條註釋行之間的界線

//START_EDIT1 
some lines 
//END_EDIT1 

與碼的這個行。

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

我是一個新手,無法找到合適的命令找出在Java代碼中這兩點意見,並使用SED commands.I不能改變Java註釋格式取代它們之間的代碼。有沒有辦法使用sed命令找到這個?或者簡單地說sed命令是如何找到雙向斜槓註釋?

+0

所以,開始和結束標記之間的所有文本將被刪除並由'System.out.println(「完成」)替換;'? – anishsane

+0

是的,先生。 @anishsane –

+1

是否要求更換代碼?這很奇怪...... – TomN

回答

1

隨着GNU sed的:

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

如果你想編輯文件 「就地」 用sed的選項-i

+1

你也可以爲不同的分隔符提供更好的可讀性。 \ n // END_EDIT1'檔案' – ritesht93

+0

感謝Cyrus和@ ritesht93:D。 –

0

爲什麼不能爲:%s/END_EDIT1//g

你再次VI和ESC :%s/START_EDIT1/System.out.println\(\"Done\"\)\;/g 你可以實現與SED的samething爲好。但這與Java無關。

+0

先生,對不起。我實際上正在嘗試使用sed命令來實現此目的。我失敗了使用不同的sed命令,並不確定它與java文件的關係。這就是爲什麼我標記的Java。我更正了帖子中的標籤。 @Raghu K Nair –

相關問題