キャプチャグループの文字をsedに置き換える方法

キャプチャグループの文字をsedに置き換える方法

以下の形態のパターンが与えられた。

a\b\c\d:text\text

sed 出力の使用方法

a/b/c/d:text\text

つまり、バックスラッシュ、コロン、ランダムテキストを順番に使用するパスがある場合、コロンの前のバックスラッシュだけをスラッシュに置き換えるにはどうすればよいですか?

ベストアンサー1

これを行う方法はいくつかあります。

sed -e ':a' -e 's_^\([^:]*\)\\_\1/_;t a'

ナビゲーションガイドライン:

-e編集コマンドを指定します。これには2つのコマンドがあります。

:a「goto」ステートメントで使用できるラベルを定義します。

このsコマンドは、最初のバックスラッシュがコロン文字の前に表示される1行の最初のバックスラッシュをスラッシュに置き換えます。

このコマンドを使用して交換が成功すると、t aコマンドはラベルに分岐します。 (条件は「移動」です。):as

おすすめ記事