Если вы хотите интерпретировать $replace
, вы не должны использовать одинарные кавычки, так как они предотвращают подстановку переменных.
Попробуйте:
echo $LINE | sed -e "s/12345678/\"${replace}\"/g"
, предполагая, что вы хотите вставить кавычки.Вы не хотите получить кавычки, используйте:
echo $LINE | sed -e "s/12345678/${replace}/g"
Стенограмма:
pax> export replace=987654321
pax> echo X123456789X | sed "s/123456789/${replace}/"
X987654321X
pax> _
Просто будьте осторожны, чтобы у ${replace}
не было никакихсимволы, имеющие значение для sed
(например, /
), поскольку это может привести к путанице, если не избежать.Но если, как вы говорите, вы заменяете один номер другим, это не должно быть проблемой.