0

我有一个模块,我目前卡在上面。我想在这方面寻求您的帮助。

假设我有一个包含以下条目的文件:

ABC 123 ... <-- 基于第 1 列值的第一次出现

CDE 456 ...

定义 234 ...

ABC 234 ... <-- 基于第 1 列值的第二次出现

和另一个包含此条目的文件:

           <-- missing 1st occurence

CDE 234 ...

定义 456 ...

ABC 346 ... <-- 基于第 1 列值的第二次出现

目前我需要比较这两个文件并得出一个输出,说明第二个文件中缺少第二个出现。任务的第一阶段已完成(我不确定这是否是处理此问题的正确方法)。首先,我根据第 1 列的值对两个文件进行排序。然后我使用“sdiff -s”来比较两个排序后的文件。我使用这种方法的限制是“排序文件”仅包含数据列 1。

例如:

美国广播公司

美国广播公司

CDE

国防军

这给了我想要的结果。但问题是,我无法弄清楚第二个文件中缺少哪个 ABC。如果我根据“sdiff -s”的结果在第一个文件上使用“grep”,它将给我 2 个值。

有人可以对此有所了解吗?

谢谢。

4

1 回答 1

0

怎么样

sdiff -s <(cut -d' ' -f1 file1) <(cut -d' ' -f1 file2)

(我猜,您需要 bash 版本 4+ 才能使进程重定向工作)

于 2013-08-04T14:59:51.030 回答