1. ホーム
  2. bash

[解決済み] なぜsedはすべてのオカレンスを置換しないのですか?

2022-05-07 20:18:20

質問

このコードをbashで実行すると。

echo dog dog dos | sed -r 's:dog:log:'

が出力されます。

log dog dos

dogの出現箇所をすべて置き換えるには?

どのように解決するのですか?

を追加する必要があります。 g 修飾子を付けると、sedは グローバル パターンバッファの内容を置換します。

echo dog dog dos | sed -e 's:dog:log:g'

sedに関する素晴らしいドキュメントをご覧になりたい方は http://www.grymoire.com/Unix/Sed.html . これは グローバル フラグについて説明します。 http://www.grymoire.com/Unix/Sed.html#uh-6

の公式ドキュメントです。 GNU sed は、以下の場所で入手できます。 http://www.gnu.org/software/sed/manual/