Причина, по которой это не работает, заключается в том, что вы используете одиночные qoutes для команды sed.
Команда sed пытается заменить литерал текст ${text3}
на ${text2}
. То, что вы хотите, это заменить значение на $text3
значением $text2
.
Чтобы использовать переменные в выражении sed, вам нужно использовать двойные кавычки.
Еще один совет: если вам не нужен временный файл, вы также можете использовать опцию sed -i
для редактирования файла на месте.
Надеюсь, это поможет.