使用AWP或类似功能比较具有不同值的CSV文件

时间:2019-07-11 17:37:34

标签: linux csv ubuntu

我有2个不同的CSV文件,“ A”和“ B”。有问题的列包含不同硬件的名称,位置和“计数”(跟踪值)。我要使用“名称+位置”作为键进行的操作,请检查两个文件中是否都存在。如果是这样,请检查“计数”字段是否已更改。如果有,请从文件“ B”中打印“名称”,“位置”和“计数”值。

如果名称和位置仅存在于一个文件中,无论是“ A”还是“ B”,我都不希望其打印。

如果计数没有变化,我不希望它打印。

A:

**Name Location Count**    
Red,Here,3    
Blue,There,4    
Green,Far,5

B:

**Name Location Count**
Red,Here,4    
Blue,There,4    
Green,Near,5    
Orange,Far,4

预期产量

Red Here 4

我尝试了以下代码,但似乎在给出结果的情况下,如果两个文件中仅存在“名称”或“位置”,它仍然会给我新的结果。

awk -F',' 'NR==FNR{a[$1,$2]; next} !(($1,$2 in a);next)  !(($3) in a){print $1","$2","$3"}' A.csv B.csv > C.csv

0 个答案:

没有答案