1

私は可能な限りすべてを試しましたが、これを機能させるために2時間かかりました。

コード (バージョン 1) で検索と置換オプションを使用していますが、置換コードが機能しません。

一部の文字の間にセミコロンを追加したい。私はこのように検索します:

)}[a-z]

..そしてそれはうまくいきます。

私はこれらすべてを試しましたが、[az] 部分を保持するものはなく、すべて削除/置換します。

)};\1
)};*1
)};[a-z]
)};\1\2
)};$1
)};($1)
)};(\1)
)};[$1]
)};[\1]

POSIX Basic オプションを使用するように設定しましたが、任意のオプション、設定で問題ありません。セミコロンを挿入するだけでいい

4

1 に答える 1

1

これはうまくいくはずです:

s/\)\}([a-z])/)};\1/g

本質的に、右括弧とそれに続く右中括弧を文字通り一致させます。a次に、との間の文字を一致させzますが、括弧を囲む括弧は、[a-z]参照可能なキャプチャ グループを作成します。その後 (そしてそのときだけ)\1置換で使用できます。キャプチャ グループがないと、何を参照しているのかわかりません\1。1つで、そうです。

でそれを使用するsed

% echo 'hello)}world' | sed -Ee 's/\)\}([a-z])/)};\1/g'
hello)};world
于 2013-05-18T02:27:56.770 に答える