Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1213476
  • 博文数量: 212
  • 博客积分: 10450
  • 博客等级: 上将
  • 技术积分: 1957
  • 用 户 组: 普通用户
  • 注册时间: 2006-02-23 09:00
文章分类

全部博文(212)

文章存档

2012年(1)

2011年(16)

2010年(11)

2009年(9)

2008年(22)

2007年(36)

2006年(117)

分类:

2006-03-02 09:38:17

   这两天出了好多事,心情大起大落。所以第一个计划没有完成,看了一半CISCO安全体系结构,另外还三心二意地看了点SHELL。终于有点明白两个文本之间替换的awk用法了(参看
)。
awk 'NR<=FNR{a[$1]=$2}NR>FNR{if ($6 in a)$8=a[$6];print}' A B
    NR代表已读的记录数,FNR代表浏览文件的记录数,所以NR<=FNR{a[$1]=$2}其实就是读取文件A,并把文件A的内容赋予a数组,这里巧妙的将A的第一列内容作为a数组的下标,而第二列内容作为a数组的值,通过这样就读取了A文件的内容。
    NR>FNR{if ($6 in a)$8=a[$6];print就是读取B文件,当B文件的第6列的内容在a数组的下标里,则把B文件的第8列的内容用a数组的值替换。通过这样就实现了用A文本的内容替换B文本的内容。
    关于两文本的替换还可以参看论坛里mocou的用awk数组处理两个文本的例子:
 
阅读(2000) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~