append

Cameron Simpson cs at zip.com.au
Sun Oct 24 22:47:11 UTC 2010


On 24Oct2010 23:48, Raj Har <raj4list at gmail.com> wrote:
| hello all,
|                 i am trying to append some thing in some file.
| 
| cat r1;
| out put 172.24.0.1
| 
| sed '10s/$/172.24.0.254/' file.txt          i want replace 172.24.0.254 ip
| address by r1 out put.
| 
| can we make r1 out put as sed command input??

Sure. Like this (untested):

  r1text=`cat r1`                 # backticks, not single quotes
  sed "10s/\$/$r1text/" file.txt

Note double quotes (") instead of single quotes ('); that lets parameter
substitution ($r1text) take place in the sed argument. Then, because $
now starts a parameter, you need to escape the $ you are using for "end
of line", so it becomes "\$" instead of "$". The result is that sed's
first argument becomes:

  10s/$/172.24.0.1/

as you intended.

Cheers,
-- 
Cameron Simpson <cs at zip.com.au> DoD#743
http://www.cskk.ezoshosting.com/cs/

"If you could have any amount of money... How much would you want?"
"All of it."    - Cerebus the Aardvark




More information about the redhat-list mailing list