首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

[AWK]大文件轮换

2013-09-06 
[AWK]大文件替换请教各位大牛我有两个文件,一个1.txt如下!Record 1START_MSG14:15:00:000TYPERecord Resp

[AWK]大文件替换
请教各位大牛
我有两个文件,一个1.txt如下
!Record 1
START_MSG   14:15:00:000;
TYPE        Record Response;
Size        14;
Ladd        FF1111;
RIC_Name    CFG;
Status      0;
Temp_No     2;
RTL         0;
END_FIC_Data;
END_MSG;
!
一个包含10million的字符如下2.txt
ABC
DEF
GHI
需要把1.txt文件中RIC_Name    CFG;这一行的CFG分别替换成ABC, DEF, GHI,该怎么做呢?
!Record 1
START_MSG   14:15:00:000;
TYPE        Record Response;
Size        14;
Ladd        FF1111;
RIC_Name    ABC;
Status      0;
Temp_No     2;
RTL         0;
END_FIC_Data;
END_MSG;
!
START_MSG   14:15:00:000;
TYPE        Record Response;
Size        14;
Ladd        FF1111;
RIC_Name    DEF;
Status      0;
Temp_No     2;
RTL         0;
END_FIC_Data;
END_MSG;
!
START_MSG   14:15:00:000;
TYPE        Record Response;
Size        14;
Ladd        FF1111;
RIC_Name    GHI;
Status      0;
Temp_No     2;
RTL         0;
END_FIC_Data;
END_MSG;
!
写了一个awk脚本
BEGIN {
FS = " ";
while(getline<"1.txt">0)
{
print $1;
nvar = $1;
}
}

{

if($1 == "RIC_Name")
{
$2 = "   "nvar";";
}
print ;
}
但是每次只能把2.txt里面最后一行字符替换进去.
大虾们帮我看看该怎么改呢??


[解决办法]
windos不太清楚没用过,不过改成""这样的话,目测不靠谱,里面好多双引号呢,目测不到那个和那个匹配啊....

热点排行