请教一个ip地址完全匹配的问题!

slk3411
请教一个ip地址完全匹配的问题!

目的:根据standard.txt文件提供的ip地址和名称对应关系,把目标文件的地址更换成名称。

问题:由于ip地址没有完全匹配,导致有的地址匹配错误(名称也就错了),请各位帮助解决此问题

$cat standard.txt
61.148.0.2      C1-zgc-TTT
61.148.0.38     A2-zgc-TTT
61.148.0.39     A1-zgc-TTT
61.148.0.42     A3-zgc-TTT

$cat source.txt
-rw-r--r-- 1 ipnet mqm  28069 2008-06-20 09:01 61.148.0.28_2008-06-20-00-50-09.txt
-rw-r--r-- 1 ipnet mqm  31348 2008-06-20 09:01 61.148.0.24_2008-06-20-00-50-09.txt
-rw-r--r-- 1 ipnet mqm  28065 2008-06-20 09:01 61.148.0.23_2008-06-20-00-50-09.txt
-rw-r--r-- 1 ipnet mqm  28635 2008-06-20 09:01 61.148.0.29_2008-06-20-00-50-09.txt

处理脚本如下:
$more test.sh
#!/usr/bin/bash

        while read line
        do {
        ipaddress=`echo $line | cut -d' ' -f 1`
        alias=`echo $line | cut -d' ' -f 2`
        sed s/${ipaddress}/${alias}/ source.txt>result.txt
        mv result.txt  source.txt
        }
        done<standard.txt

输出的结果如下:
$more source.txt
-rw-r--r-- 1 ipnet mqm  28069 2008-06-20 09:01 C1-zgc-TTT8_2008-06-20-00-50-09.txt
-rw-r--r-- 1 ipnet mqm  31348 2008-06-20 09:01 C1-zgc-TTT4_2008-06-20-00-50-09.txt
-rw-r--r-- 1 ipnet mqm  28065 2008-06-20 09:01 C1-zgc-TTT3_2008-06-20-00-50-09.txt
-rw-r--r-- 1 ipnet mqm  28635 2008-06-20 09:01 C1-zgc-TTT9_2008-06-20-00-50-09.txt

err7dd
try:

[CODE]awk 'NR==FNR{a[++idx]=$1;b[idx]=$2;}; NR>FNR{
  for(i=1;i<=idx;i++)
  {
       t=substr($8,0,length(a[i]));
       s=substr($8,length(a[i])+1,1);
       if(t==a[i] && s=="_")
       {
                sub(a[i],b[i],$0);
       }
}
print $0;
}' standard.txt source.txt
[/CODE]