Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 11 Dec 2007 22:22:17 +0100
From:      Tino Engel <elrap@web.de>
To:        Halid Faith <maslak@ihlas.net.tr>
Cc:        freebsd-questions@freebsd.org
Subject:   Re: How to replace two strings in a file in the same time with sed command ?
Message-ID:  <475EFF89.9040406@web.de>
In-Reply-To: <001001c83c33$669b46b0$dc96eed5@ihlasnetym>
References:  <002801c83c11$cd434e70$dc96eed5@ihlasnetym>	<475EC318.90104@dial.pipex.com> <001001c83c33$669b46b0$dc96eed5@ihlasnetym>

next in thread | previous in thread | raw e-mail | index | archive | help
Halid Faith schrieb:
> Ok
> But I have another problem,
> I couldn't use any command  interior of sed command. That's to say I have a
> script;
>
> yy="file5"
>  for i in `cat file1`;
>  do
>  sed -e 's/old1/new1\ \'$i'/g' -e 's/old2/'cut -d, -f 1 ${yy}'/g'   file2 >
> file3
>  done
>
> When I run the script,  I get an error, due to using cut command
>
>
>
>   
For using environment variables in sed, you have to use # instead of /

VAR="TEXT"

sed s#OLD#${VAR}#g file1

Will replace OLD by TEXT. Do not use quotations here...
Rg, Tino



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?475EFF89.9040406>