我有一个我目前坚持的模块。我想就此寻求帮助。
假设我有一个包含以下条目的文件:
ABC 123 ...< - 第1列出现在第1列值
CDE 456 ......
DEF 234 ......
ABC 234 ...< - 第2列出现在第1列值
以及包含此条目的另一个文件:
<-- missing 1st occurence
CDE 234 ......
DEF 456 ......
ABC 346 ...&lt; - 基于第1列值的第二次出现
目前我需要比较两个文件并提出一个输出,说明第二个文件中缺少第二个出现。任务的第一阶段完成(我不确定这是否是处理此问题的正确方法)。首先,我根据第1列的值整理出两个文件。然后我使用&#34; sdiff -s&#34;比较两个排序的文件。我采用这种方法的限制是&#34;排序文件&#34;仅包含数据第1列。
例如:
ABC
ABC
CDE
DEF
这给了我理想的结果。但问题是,我无法弄清楚第二个文件中缺少哪个ABC出现。如果我使用&#34; grep&#34;在第一个文件基于&#34; sdiff -s&#34;的结果,它将给我2个值。
有人可以对此有所了解吗?
感谢。
答案 0 :(得分:0)
怎么样
sdiff -s <(cut -d' ' -f1 file1) <(cut -d' ' -f1 file2)
(我想,你需要bash版本4+才能使流程重定向工作)