请帮助我处理 awk 场景
我有两个 csv,我需要比较两个 csv 文件,并且必须在单独的 csv 文件上写入缺失的列值以及表名称
文件.csv
Table Name Column Name
Class5 Tamil
Class5 English
Class5 Maths
Class5 Physics
Class5 Chemistry
Class6 Tamil
Class6 English
Class6 Maths
Class6 Chemistry
Class7 Tamil
Class7 English
Class7 Maths
Class7 Physics
Class7 Chemistry
File2.csv
Table Name Column Name
Class5 Tamil
Class5 English
Class5 Maths
Class5 Physics
Class5 Chemistry
Class6 Tamil
Class6 English
Class6 Maths
Class6 Physics
Class6 Chemistry
预期输出:
Missing Table(On file1) Missing column(on file1) Missing table(on file2) Missing column(on file2)
-------------------------------------------------------------------------------------------------------------------
class6 Physics
class7 Tamil
class7 English
class7 Maths
class7 Physics
class7 Chemistry
最佳答案
您可以使用 Unix comm 命令。
在将文件传递给 comm 之前命令,您需要先对它们进行排序。
要使 File1.csv 中缺少行,您必须执行类似的操作,
comm -23 <(sort File2.csv | uniq) <(sort File1.csv | uniq)
要使 File2.csv 中缺少行,您必须执行类似的操作,
comm -23 <(sort File1.csv | uniq) <(sort File2.csv | uniq)
关于linux - 比较两个 csv 文件并将缺失的数据写入单独的 csv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54899266/