首页 > 其他 > 详细

awk匹配

时间:2020-03-24 14:08:47      阅读:37      评论:0      收藏:0      [点我收藏+]

awk 匹配

1.匹配交集项

1 > 如果file1、file2中,2个文件的第一列值相同,输出第2个文件的所有列

      awk ‘NR==FNR{a[$1]=1}NR>FNR&&a[$1]>0{print $0}‘  file1(字段:QQ) file2(字段:QQ 点券值 ) > file3

   技术分享图片

   注意:数据量如果达到4Gb以上或者行数达到一亿级别,建议将file2进行split分割,否则就算是32G的内存的机器都会被吃掉;

2. > 如果file1、file2中,2个文件的第一列第二列值相同,输出第2个文件的所有列

    awk ‘NR==FNR{a[$1" "$2]=1}NR>FNR&&a[$1" "$2]>0{print $0}‘  file1 file2> file3

    技术分享图片

2、匹配非交集项

1 > 针对2个文件的第一列做比较,输出:在file2中去除file1中第一列出现过的行

    awk ‘NR==FNR{a[$1]=1}NR>FNR&&a[$1]<1 {print $0}‘  file1 file2 > file3

   技术分享图片

方法二 :

    cat file1 file2|sort |uniq -d > jiaoji.txt

   cat file2 jiaoji.txt  |sort |uniq -u > file3

 

awk匹配

原文:https://www.cnblogs.com/qq521/p/12558514.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!