Unix:比较两个表,两个表的unique_id匹配

时间:2018-11-29 09:19:48

标签: validation unix hive scripting compare

我有2个表,两个表的unique_id将匹配。两个表的比较将基于unique_id在每列中产生突出显示的数据不匹配。示例如下;

表A: enter image description here

表B: enter image description here

结果: enter image description here

Unique_id在这里应该起重要作用。如果不存在与之匹配的unique_id,则结果应抛出空/空记录。 关于如何解决这个问题的任何想法吗?

1 个答案:

答案 0 :(得分:0)

文件:t1.csv

maria;22;us
bryon;23;uk
alex;24;aus

文件:t2.csv

maria;22;us
bryon;24;uk
alex;24;aus

文件:test.sh

#!/bin/sh
sqlite3 <<EOF
create table t1 (id,a,b);
create table t2 (id,a,b);
.separator ;
.import $1 t1
.import $2 t2
select t1.*,' <-> ', t2.*
  from t1
  left join t2 on t1.id = t2.id
  where t1.a <> t2.a
     or t1.b <> t2.b
     or t2.id is null;
EOF

使用方法:

$ bash  test.sh  t1.csv  t2.csv
bryon;23;uk; <-> ;bryon;24;uk

但还要检查t1.csv

中是否有空行
$ bash  test.sh  t2.csv  t1.csv