У меня есть файл, который содержит очень длинную строку символов, и я хотел бы заменить его подстроку на Ns.Пример:
test ABCDABCDABCD
Я хотел бы заменить ее подстроку всеми буквами N с помощью команды awk и sed, всех символов от индекса 5 до 8, поэтому общая длина буквыN равно 4.
Вывод
ABCDNNNNABCD
Я пробовал что-то вроде этого:
awk '{ v=substr($0,5,4); sed -i "s/$v/N/g";print substr($0,1,4)""v""substr($0,9,12)}' test
однако, эта команда, похоже, выдает такой вывод:
ABCDABCDABC
И никакая замена не была сделана
Я хотел бы иметь в коде номер индекса, с которого начинается замена (здесь, например, 4) и номер длиныподстановка (здесь также 4), так что я могу просто изменить эти числа в случае, если я хочу начать в другой позиции и для другой длины замещения, потому что в действительности у меня есть строка с тысячами букв, и я хочу заменить сотни символовпоэтому замена шаблона не работает в моем случае