[sed] 1行の中で2回目に一致した文字列だけ置換する
作成日: 2026年09月17日
sed の置換コマンドでは、末尾に数値を指定すると、その行で指定した回数目に一致した文字列だけを置換できます。下記では2回目の foo だけを bar に置換しています。
printf 'foo foo foo\n' | sed 's/foo/bar/2'
実行結果は下記のとおりです。
foo bar foo
s/foo/bar/2 の末尾にある 2 が、2回目に一致した foo を置換する指定です。