Я пытаюсь заменить (j + 1) -ое вхождение Nb на Nbu в моем файле, который выглядит следующим образом:
Nb Nbc blahblahblah
Nb blablablaNbblabla
Cd Nb
and many lines that follow
где j - переменная в цикле for.
То, что я хочу получить, это что-то вроде этого. Например, когда j = 1:
Nb Nbc blahblahblah
Nbu blablablaNbblabla
Cd Nb
and many lines that follow
Код, который у меня сейчас есть, выглядит примерно так:
for j in $(seq 1 1 4)
do
sed -i ':a;N;$!ba;s/Nb /Nbu/$((j+1))' file
done
Однако я получаю сообщение об ошибке:
sed: -e expression #1, char 21: unknown option to `s'
Проблема, похоже, исходит от $ ((j + 1)), потому что, когда я изменил код на
sed -i ':a;N;$!ba;s/Nb /Nbu/2' file
Я получаю желаемый результат для j = 1.
Каким должен быть синтаксис для включения цикла j?