原文地址:https://www.lujun9972.win/blog/2021/04/15/使用awk查找并修复数据中一对多的不一致问题/index.html
从 https://www.datafix.com.au/BASHing/2021-03-17.html 上看到的一个 awk
小技巧。
所谓“一对多”的不一致问题是指这么一种情况:属性1与属性2本来应该是 1:1
或者 N:1
的关系,但是由于数据错误导致同一个属性1有了多个属性2与之对应。
例如下面数据中, 每个 item
本来应该只有唯一的一个 class
,但是实际上 banana
和 potato
有多个 class
与之对应。
saleID date item class kg 001 2021-01-02 capsicum vegetable 11.9 002 2021-01-02 banana fruit 12.7 003 2021-01-02 capsicum vegetable 3.7 004 2021-01-02 potato vegetable 4.1 005 2021-01-02 capsicum vegetable 6.0 006 2021-01-02 potato fruit 13.0 007 2021-01-02 banana vegetable 9.1 008 2021-01-02 potato vegetable 15.0 009 2021-01-02 apple fruit 5.6 010 2021-01-02 banana fruit 7.7 011 2021-01-02 pumpkin vegetable 8.3 012 2021-01-02 pumpkin vegetable 5.6 013 2021-01-02 apple fruit 3.5 014 2021-01-02 pumpkin vegetable 5.3 015 2021-01-02 capsicum vegetable 10.3 016 2021-01-03 apple fruit 12.2 017 2021-01-03 pumpkin vegetable 12.6 018 2021-01-03 potato vegetable 4.4 019 2021-01-03 apple fruit 12.5 020 2021-01-03 pumpkin vegeta