如何使用 sed 在一行的特定字符位置插入一个字符?

如何使用 sed 在一行的特定字符位置插入一个字符?

我知道这将在所有方面实现我想要的效果:

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

但是我如何在仅第 5 行的第 4 个字符槽之后输入 - ?或者甚至更好,在一系列线路上,例如 5-7?

答案1

命令的第一部分sed是范围规范,指示您希望影响哪些行。如果未指定范围,则默认为所有行。所以:

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

应该做你想做的事。

相关内容