149

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

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

出力が得られます:

log dog dos

犬のすべての出現を置き換えるにはどうすればよいですか?

4

2 に答える 2

233

sed がパターン バッファの内容のグローバルg置換を実行するように、修飾子を追加する必要があります。

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

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

于 2013-04-06T09:23:00.507 に答える
28

最後に a を付ける必要がありますg。これは「グローバル」を表します。

echo dog dog dos | sed -r 's:dog:log:g'
                                     ^
于 2013-04-06T09:22:52.807 に答える