awk 命令处理两份数据文件,依据id相同,筛选相同的数据

  • Post author:
  • Post category:其他



awk处理两份数据文件,将拥有相同id的数据筛选出来。

不久之前我领导部署给我一份任务,一份数据量百万级的文件和另一份数据量百万级的文件筛选拥有相同id的文件,这种数据量级别的文件靠WPS是无法完成的,电脑配置一般的话甚至打开文件都无法做到,所以我将两份文件上传到linux环境下,执行以下命令。

文件1:shannxi.csv 3000行

文件2:basepoi.csv 450000行

将文件1中的id字段在文件2中筛选出来

命令 : awk -F ‘,’ ‘NR==FNR{a[$1];next} {if($1 in a) {print $0}}’ shannxi.csv basepoi.csv > new.csv

awk命令,文件格式要求shannxi.csv和basepoi.csv id字段都放在第一列 生成新文件new.csv,验证一下文件new.csv文件数量级和shannxi.csv的数量级是否一致。

验证命令:wc -l new.csv

wc -l shannxi.csv

这种处理方式方便快捷,希望可以帮助到你



版权声明:本文为qq984676583原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。