Как использовать sed для вставки символа в определенную позицию только в ОДНОЙ строке?

Как использовать sed для вставки символа в определенную позицию только в ОДНОЙ строке?

Я знаю, что это сделает то, что я хочу по всем направлениям:

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

Но как мне ввести - после 4-го символьного слота ТОЛЬКО на 5-й строке? Или, что еще лучше, на диапазоне строк, например, с 5-й по 7-ю?

решение1

Первая часть команды sed— это спецификация диапазона, которая указывает, на какую строку(и) вы хотите повлиять. По умолчанию, если диапазон не указан, это все строки. Итак:

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

должен делать то, что хочешь.

Связанный контент