ピリオドを一致させることができることはわかっていますが、\.
試行錯誤ではまだピリオド文字を無視するパターンを取得できないようです。
私は次のようなさまざまなバリエーションを試しました。
\[^.]
\[^.]+
このコードが欲しい
foo("some text").arg("more text");
同じままですが、コードは次のようになります。
foo("some text");
パターンを一致させ、他のものと交換してください。
そしてもう一つの問題に遭遇しました。
ケース例:
tr("I am some text")
.arg(i do stuff)
.arg(I also do stuff)
2〜n行を処理する必要があります。
現時点では、trが削除され、構文エラーが発生するため、これらのテキストを維持したいと思います。
ベストアンサー1
「非ピリオド」になるには、順序が[^.]
欲しいものです。あなたの例では\
前に1つありますが、[
これは間違っています。
たとえば、次のようになります。
foo("some text").arg("more text");
foo("some text");
% sed 's/foo("some text")[^.]/replaced text/' tstfile
foo("some text").arg("more text");
replaced text
これは次の文字も置き換えますfoo(..)
。それを維持したい場合は、私たちはそれを覚えています:
% sed 's/foo("some text")\([^.]\)/replaced text\1/' tstfile
foo("some text").arg("more text");
replaced text;