woodpile 发表于 2005-5-10 18:17:39

求替代字符串脚本!

想用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

求一个脚本,谢谢

BOoRFGOnZ 发表于 2005-5-11 11:25:27

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
不具备一般性!

panlm 发表于 2005-5-11 18:00:07

cat a |sed 's/:/ /' |while read var1 var2 ; do
> eval $var1=$var2
> sed -i "s/$var1/$(eval echo \$$var1)/" b
> done

zhy2111314 发表于 2005-5-11 23:21:59

cat a |sed 's/:/ /' |while read var1 var2 ; do
> eval $var1=$var2
> sed -i "s/$var1/$(eval echo \$$var1)/" b
> done
这个不错! :P不过看起来好象特意用eval哦:)
这样是否简单点:
cat a|sed 's/:/ /g'|while read var1 var2;do
> sed -i "s/$var1/$var2/" b
> done

kornlee 发表于 2005-5-12 02:03:31

cut -f2 -d':'<a>b

zhy2111314 发表于 2005-5-12 08:25:07

cut -f2 -d':'<a>b
这个好象不行吧 :D 这样的话把b里的其他内容都覆盖了,只剩下那两个ip了 :twisted:
页: [1]
查看完整版本: 求替代字符串脚本!