Чтобы заменить символы с 5 по 8 наN
:
$ sed -E 's/(.{4}).{4}/\1NNNN/' test
ABCDNNNNABCD
Как это работает:
(.{4})
фиксирует первые четыре символа в группе 1.
.{4}
соответствует следующим четырем символам.
\1NNNN
заменяет вышеуказанное на группу 1 и четыре N
.
$ gawk -F "" '{for (i=5; i<=8; i++) $i="N"} 1' OFS="" test
ABCDNNNNABCD
Как это работает:
-F ""
указывает awk обрабатывать каждый символ как отдельное поле.
for (i=5; i<=8; i++) $i="N"
перебирает каждый символ с 5 по 8 и заменяет его на N
.
1
указывает awk напечатать строку.
Вы также можете использовать описанный ниже метод и его работу
new_time=$(date -d "$(date -Iseconds -d "$dat $time") - 2 minutes - 0.05 seconds" +%Y/%m/%dT%H:%M:%S)