sed を使用して、1 行のみの特定の文字位置に文字を挿入するにはどうすればよいですか?

sed を使用して、1 行のみの特定の文字位置に文字を挿入するにはどうすればよいですか?

これがすべての行で私が望むことを実行することはわかっています。

sed 's/^\(.\{4\}\)/\1-/' textFile

しかし、5 行目の 4 番目の文字スロットの後にのみ - を入力するにはどうすればよいでしょうか。あるいは、5 行目から 7 行目までの範囲で入力するには、どうすればよいでしょうか。

答え1

コマンドの最初の部分は、sedどの行に影響を与えたいかを示す範囲指定です。範囲が指定されていない場合、デフォルトではすべての行になります。つまり、

sed '5,7s/^\(.\{4\}\)/\1-/' textFile

あなたがしたいことをすればいいのです。

関連情報