Si desea interpretar $replace
, no debe usar comillas simples ya que impiden la sustitución de variables.
Probar:.
echo $LINE | sed -e "s/12345678/\"${replace}\"/g"
si quiere enviar las cotizaciones puesto en Si no lo hace quieren las comillas, utilice:
echo $LINE | sed -e "s/12345678/${replace}/g"
Transcripción:
pax> export replace=987654321
pax> echo X123456789X | sed "s/123456789/${replace}/"
X987654321X
pax> _
Solo tenga cuidado de asegurarse de que ${replace}
no tenga ningún carácter tros de importancia para sed
(como /
por ejemplo) ya que causará confusión a menos que se escape. Pero si, como dices, estás reemplazando un número por otro, eso no debería ser un problema.
Para la pregunta relacionada más común sobre el manejo de valores con barras en ellos, vea http://stackoverflow.com/questions/5864146/use-slashes-in-sed-replace – tripleee