Я получил текст, который заканчивается на каждой строке .|
И мне нужно заменить .|
на каждой 5-й строке с .}
Я получил текст, который заканчивается на каждой строке .|
И мне нужно заменить .|
на каждой 5-й строке с .}
Если у вас есть доступ к инструментам Unix (включая Cygwin), вы можете сделать это с помощью sed
:
sed '0~5s/\.|$/.}/'
как в
sed -i.bak '0~5s/\.|$/.}/' filename
При этом используется форма адреса первого шага sed
, что означает «соответствовать каждой строке шага , начиная с первой строки».
Если |
всегда предшествует .
, как вы говорите, тогда вы можете оставить точки вне команды:
sed '0~5s/|$/}/'