これは、一致が見つかったときに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
以下に基づいて。2つのマッチグループを作成します。最初のものはコメント化された行です。そして2番目は残りの行です。行全体を2番目の一致したグループだけに置き換えます。
これによりエラーが発生します:
sed: -e expression #1, char 29: Unmatched ) or \)
任意のヒント?