awk文件关联

工作中常用到需要将两个文件关联起来,可以使用join完成,但是无论怎么排序都提示有未排序的行,然后发现awk可以处理,记录一一下

如a.txt

   12334,Li

           13435,Huang

    23456,He

b.txt

   12334,100

      12345,68

      23456,99

如果需要将两个文件根据第一列关联,只输出有关联的行:

  awk -F',' '{BEGIN{OFS=","}}NR==FNR{a[$1]=$2}NR!=FNR{if(a[$1]!=""){print a[$1],$0}}' a.txt b.txt

  NR为总行 FNR为当前文件的行,当读第一个文件时BR==FNR,当读第二个文件时,FNR会从0开始增加

  awk文件关联

 

 

 

也可根据参数,也可以操作多个文件

  awk -F',' 'BEGIN{OFS=","}ARGIND==1{a[$1]=$2}ARGIND==2{if(a[$1]!=""){print a[$1],$0}}' a.txt b.txt

  awk文件关联

 

上一篇:五种开源协议的比较(BSD,Apache,GPL,LGPL,MIT) – 整理


下一篇:Linux awk命令详解