1

Я получил текст, который заканчивается на каждой строке .|

И мне нужно заменить .| на каждой 5-й строке с .}

1 ответ1

2

Если у вас есть доступ к инструментам Unix (включая Cygwin), вы можете сделать это с помощью sed:

sed '0~5s/\.|$/.}/'

как в

sed -i.bak '0~5s/\.|$/.}/' filename

При этом используется форма адреса первого шага sed , что означает «соответствовать каждой строке шага , начиная с первой строки».

Если | всегда предшествует ., как вы говорите, тогда вы можете оставить точки вне команды:

sed '0~5s/|$/}/'

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .