[解決済み] sedで複数のパターンを一度に置き換えるには?
2022-01-30 02:57:44
質問
例えば、'abbc'という文字列があり、それを置き換えたいとします。
- ab -> bc
- bc -> ab
2つ置き換えてみると、思い通りの結果にはならない。
echo 'abbc' | sed 's/ab/bc/g;s/bc/ab/g'
abab
では、どのようなsedコマンドを使えば、以下のように置き換えられるのでしょうか?
echo abbc | sed SED_COMMAND
bcab
EDIT
:
実は、テキストは2つ以上のパターンがあり、いくつの置き換えが必要なのかわかりません。という回答がありましたので
sed
はストリームエディタであり、その置換は貪欲に行われるため、何らかのスクリプト言語を使用する必要があると思います。
どのように解決するのですか?
こんな感じでしょうか。
sed 's/ab/~~/g; s/bc/ab/g; s/~~/bc/g'
交換
~
を文字列に含まれないと分かっている文字で置き換える。
関連
-
[解決済み】Atomでタブをスペースに置き換えるには?
-
[解決済み] sedで複数のパターンを一度に置き換えるには?
-
[解決済み] Visual Studio コードでの検索と置換
-
[解決済み] Vimで文字を改行で置き換える方法
-
[解決済み] YAML の文字列を複数行に渡って分割するには?
-
[解決済み] sedで改行をスペースに置き換えるには?
-
[解決済み] Vimで、テキストをレジスタに入れずに削除する方法はありますか?
-
[解決済み] Visual Studio Codeで、(すべてのファイル内の)すべての出現箇所を検索して置換するにはどうすればよいですか?
-
[解決済み】JavaScriptで文字列の出現箇所をすべて置換する方法
-
[解決済み】Regexで一部のグループのみを置換する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン