Se vuoi interpretare $replace
, non dovresti usare virgolette singole poiché impediscono la sostituzione delle variabili.
Provare:
echo $LINE | sed -e "s/12345678/\"${replace}\"/g"
supponendo che tu voglia inserire le virgolette. Se non vuoi le virgolette, usa:
echo $LINE | sed -e "s/12345678/${replace}/g"
Trascrizione:
pax> export replace=987654321
pax> echo X123456789X | sed "s/123456789/${replace}/"
X987654321X
pax> _
Fai solo attenzione a assicurarti che ${replace}
non abbia caratteri significativi sed
(come /
ad esempio) poiché causerà confusione a meno che non venga evitato. Ma se, come dici, stai sostituendo un numero con un altro, non dovrebbe essere un problema.