Назад | Перейти на главную страницу

Как заменить определенные позиции строк в sed?

Мне нужно использовать sed (или что-то еще) для замены конкретный положение строки, я гулю и ничего не могу найти (пока).

* ОБНОВИТЬ *

это то, что я до сих пор придумал ..

sed 's|\(^.\{67\}\).\{1\}||g' $$

но это удаляет все от начала до позиции 67 + 1, я хочу ТОЛЬКО позиция 67 + 1 исчезнет ..

Сначала я думал, что тебе это нужно. Это будет соответствовать 66 символам \(.\{66\}\) и хранить в \1, поместите следующие два \(.\{2\}\) в \2, и все остальное \(.*\) в \3 он заменит \1\2\3 с участием \1\3, исчезают вам 2 символа, которых вы не хотите.

sed 's/^\(.\{66\}\)\(.\{2\}\)\(.*\)/\1\3/'

И тут я вспомнил об этом. Это заменит 2 символа '..' для '' на персонаже 67.

sed 's/..//67'