求替代字符串脚本!

求替代字符串脚本!

想用BASH 来做。
有两个文件A和B,
in a:
      IPADDRESS1:127.0.0.1
      IPADDRESS2:127.0.0.2

in b:
     ....................
    IPADDRESS1
    IPADDRESS2

想用127.0.0.1,127.0..0.2
替代文件b中的IPADDRESS1,IPADDRESS2

求一个脚本,谢谢
[code:1]a1=`cat a | awk -F: /IPADDRESS1/{print $2}`
a2=`cat a | awk -F: /IPADDRESS2/{print $2}`
sed "s/IPADDRESS1 /$a1/g" b
sed "s/IPADDRESS2 /$a2/g" b[/code:1]
不具备一般性!
cat a |sed 's/:/ /' |while read var1 var2 ; do
> eval $var1=$var2
> sed -i "s/$var1/$(eval echo \$$var1)/" b
> done
[quote:b60b0d328f="panlm"]cat a |sed 's/:/ /' |while read var1 var2 ; do
> eval $var1=$var2
> sed -i "s/$var1/$(eval echo \$$var1)/" b
> done[/quote]
这个不错! 不过看起来好象特意用eval哦
这样是否简单点:
[code:1]cat a|sed 's/:/ /g'|while read var1 var2;do
> sed -i "s/$var1/$var2/" b
> done
[/code:1]
cut -f2 -d':'<a>b
[quote:2afe5ad24e="kornlee"]cut -f2 -d':'<a>b[/quote]
这个好象不行吧 :D 这样的话把b里的其他内容都覆盖了,只剩下那两个ip了