Mas tem uma maneira mais simples: $ echo $OLD_SOURCE1 <raid1Device>sdd1</raid1Device> $ echo $NEW_SOURCE1 <raid1Device>sdc1</raid1Device>
$ echo $OLD_SOURCE1 | sed "s#$OLD_SOURCE1#$NEW_SOURCE1#g" <raid1Device>sdc1</raid1Device> $ echo $OLD_SOURCE1 | sed "s%$OLD_SOURCE1%$NEW_SOURCE1%g" <raid1Device>sdc1</raid1Device> $ echo $OLD_SOURCE1 | sed "s?$OLD_SOURCE1?$NEW_SOURCE1?g" <raid1Device>sdc1</raid1Device> (substitua o "/" do comando "s" por qualquer outro símbolo que não exista nos seus padrões) > -----Original Message----- > From: Marcio Gil > > $ OLD_SOURCE1="<raid1Device>sdd1</raid1Device>" > $ NEW_SOURCE1="<raid1Device>sdc1</raid1Device>" > $ OLD_PAT1=`echo $OLD_SOURCE1 | sed 's/\\//\\\\\//g'` > $ echo $OLD_PAT1 > <raid1Device>sdd1<\/raid1Device> > $ NEW_PAT1=`echo $NEW_SOURCE1 | sed 's/\\//\\\\\//g'` > $ echo $NEW_PAT1 > <raid1Device>sdc1<\/raid1Device> > $ echo $OLD_SOURCE1 | sed "s/$OLD_PAT1/$NEW_PAT1/g" > <raid1Device>sdc1</raid1Device> > $ > > > -----Original Message----- > > From: Eduardo Lucas > > > > pessoal.. > > quero substituir com sed..uma linha num arquivo texto > > > > esta variavel..; > > OLD_SOURCE1 tem o texto: <raid1Device>sdd1</raid1Device> > > por esta variavel..: > > $NEW_SOURCE1 tem o texto: <raid1Device>sdc1</raid1Device> > > > > tentei a seguinte linha cat /root/.source/default.xml |sed Sed -e > > "s/$OLD_SOURCE1/$NEW_SOURCE1/g" > tmp_config > > mas... me retorna o seguinte erro: > > > > sed: -e expression #1, char 37: unknown option to `s' > > > > o que devo fazer? > > Alguma idéia? tentei.."?",..mas..nao entendi!..mmuito bom"! > > >
