這與Using sed to replace beginning of line when match found類似,但是有一個不同的問題,所以此線程。需要匹配sed表達式中的兩個組
我希望取消註釋掉註釋掉的代碼。更具體地說,變量myVar被註釋掉的所有情況。
例子:
public class MyClass {
...
...
//myVar.setAge(200);
//myVar.setPlanet("mars");
}
到
public class MyClass {
...
...
myVar.setAge(200);
myVar.setPlanet("mars");
}
正則表達式:
^\\.*myVar.*$
獲取我的一切,我需要。
棘手的部分是得到正確的Sed。我嘗試:
sed 's/(^\\)(.*myVar.*$)/\2/g' Build_DM_Digests_Batch.cls
在以下基礎上。創建兩個匹配組。第一個是註釋掉的線條。其次是線路的其餘部分。用第二個mateched組替換整個行。
這給了錯誤:
sed: -e expression #1, char 29: Unmatched) or \)
任何提示嗎?
尋找優秀。你能告訴我爲什麼我們必須在sed中跳過括號而不是grep? – dublintech
'// //'不在OP示例中的行首,所以這不起作用。 – dogbane
@dogbane固定,@ dublintech請參閱編輯括號上的信息。 –