以下の形態のパターンが与えられた。
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
コマンドはラベルに分岐します。 (条件は「移動」です。):a
s