2016-06-21 15 views
1

に置き換えます。端末を使用してtestThatMythatMyに変換する方法はありますか?端末ファイルtestAを

これは私が今持っているものです。

sed -i 's/test//g' MyJavaFile.java

不足している唯一のものは小文字になりましtest後の文字を変換することです。

また、正規表現変数を参照することは機能していないようです。

sed -i 's/test([A-Z]{1})/\1/g' MyJavaFile.java

答えて

1

あなたは、次のGNU sedコマンドを使用することができます:場所にあなたが-iを渡す必要が編集するための

sed -r 's/test([[:upper:]])([^[:space:]]*)/\L\1\2/g' file.java 

を、私は最初のコマンドをテストします。

パターンの説明:

  • -rは、拡張POSIX正規表現を可能にします。大文字に次の式を変換

    • \L
    • [[:upper:]]は大文字に
    • [^[:space:]]*マッチゼロまたはそれ以上の非空白文字

    交換説明と一致しました。 \1がコンテンツの最初のキャプチャグループです。 \2は、2番目のキャプチャグループの内容です。

+0

ありがとうございました。私はそれを '' s/test(([[upper:]])[^ [:space:]] *)/ \ L \ 1/g "に変更しなければならなかったが – Niklas

+0

私はそれを私が心に留めていたものに変更しました。 – hek2mgl