この問題の一部が欠けていますか? 上記の最初の行を内容としてファイルを作成し、可能な限り単純な sed コマンドを実行しました...そして2行目で出てきました。
~ >cat test.txt
local all all peer
~ >sed 's/peer/md5/g' test.txt
local all all md5
複数行でも問題なく動作します...
~ >cat test.txt
local all all peer
local all all peer
local all all peer
local all all peer
local all all peer
local all all peer
~ >sed 's/peer/md5/g' test.txt
local all all md5
local all all md5
local all all md5
local all all md5
local all all md5
local all all md5
これがうまくいかないのは、md5 で置き換えたくない行の別の場所に「peer」という単語が表示される場合のみです。
これは、検索語の最初の出現のみを置き換えます。
~ >cat test.txt
local all all peer
local all all peer
local all all peer
local all all peer
local all all peer
local all all peer
~ >sed '0,/peer/s//md5/' test.txt
local all all md5
local all all peer
local all all peer
local all all peer
local all all peer
local all all peer