zoukankan      html  css  js  c++  java
  • 使用awk合并两份文档

    如果使用awk分析两份文档,并且按照某一字段合并:

    示例文件格式:

    file1

    王姑娘 腿长120cm 

    a姑娘 腿长110cm

    b姑娘 腿长100cm

    file2

    王姑娘  冰雪聪明

    a姑娘 温柔贤淑 

    b姑娘 古灵精怪

    使用awk分析两份文本

     awk '{ if (NR==FNR) {arraya[$1]=$2} if (NR!=FNR) { arrayb[$1]=$2}}END{for (i in arraya) {print i,arraya[i],arrayb[i]}} ' file1 file2

    NR,表示awk开始执行程序后所读取的数据行数.
    FNR,与NR功用类似,不同的是awk每打开一个新文件,FNR便从0重新累计.

    判断NR与FNR是否相等就可以判断是否是两份不同的文件

    if (NR==FNR)
    if (NR!=FNR) 


    因为文件的第一列相等,所以我们分别将两份文件的第一列元素取值做为数组的key
    {arraya[$1]=$2} 

    { arrayb[$1]=$2}
    然后遍历数组的key,分别取出两个value的值即可
    END{for (i in arraya) {print i,arraya[i],arrayb[i]}
    结果:



  • 相关阅读:
    【Linux】【Chrome】安装Chrome浏览器的攻略
    ubuntu下安装程序的三种方法
    scala学习笔记
    安装scala
    安装java
    Python学习笔记
    Linux安装python
    软件测试笔记
    Linux安装微信
    PUTTY学习
  • 原文地址:https://www.cnblogs.com/tymagic/p/10819210.html
Copyright © 2011-2022 走看看