Como eu usaria o sed para inserir um caractere em uma determinada posição de caractere em apenas UMA linha?

Como eu usaria o sed para inserir um caractere em uma determinada posição de caractere em apenas UMA linha?

Estou ciente de que isso fará o que desejo em todas as linhas:

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

Mas como eu inseriria um - após o 4º slot de caractere APENAS na 5ª linha? Ou melhor ainda, em várias linhas, como 5-7?

Responder1

A primeira parte de um sedcomando é uma especificação de intervalo que indica quais linhas você deseja afetar. O padrão, se nenhum intervalo for especificado, são todas as linhas. Então:

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

deve fazer o que quiser.

informação relacionada