sed
毎回発生するたびにパターンを置き換えるように指示する方法はありますか?それとも、少なくとも別の行ごとに? (もちろんスクリプトを使うことも可能ですが、できるかsed
自分に聞いてみました。)
編集する
私が見つけた
sed -e "s/pattern/replacement/g;n"
ただし、2番目の発生ではなく、最初の発生を置き換えます。
はい
入力ファイル:
I have a pattern in each line
Also the second line has the pattern
Another pattern here
And -- you guess it -- a pattern
希望の出力:
I have a pattern in each line
Also the second line has the replacement
Another pattern here
And -- you guess it -- a replacement
ベストアンサー1
sed 's/pattern/replacement/2'
パターンを持つ各行の2番目の項目が置き換えられます。
GNUがある場合sed
:
sed '1~2N ; s/pattern/replacement/2'
最初の行から始まり、後ろの行1
がパターンスペースに追加され、N
コマンドs
は2番目のパターン発生を置き換えます。その後、sed
2行下に移動し~2
て繰り返します。