如何比较大的csv文件的部分列

文章目录


前言

需要比较两版程序生成的csv文件除了id这一列之外其他部分是否相同。
文件很大,一个文件7G以上。
文件在linux服务器上。
两个文件记录顺序相同。
文件的每一列以‘,’分隔。


比较方案

在服务起上处理两个文件,将不需要参与比较的那一列删除。本例中是文件的倒数第二列不需要参与比较。所以预先处理命令如下:

awk -F, '{$(NF-1) = "";print $0}' 原文件名 > 处理后的文件名

命令解释:
-F后面的’,'表示 以‘,’为分隔符。
NF是列数,$(NF-1) 表示倒数第二列。
print $0 表示输出所有列。
如果是需要输出第1列就是print $1。
注意:使用这个命令后输出的文件的‘,’分隔符就不见了。

两个版本的文件都处理完后用diff比较差异即可。

diff 文件1的文件名 文件2的文件名
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值