【发布时间】:2018-05-29 00:26:32
【问题描述】:
我有两个文件:
文件 1:
A B
C D
F A
C G
文件 2:
A G
C D
A C
D C
F A
我想要的是在与文件 1 进行比较时找到文件 2 中重复的所有单词对,然后从文件 2 中删除这些单词并加入这两个文件。在这种情况下,重复的对是:
C D
D C
F A
请注意,我不希望以相反的顺序排列相同的对。任何单词都可以在两个文件中出现多次。
我试过了,但效率不高,需要额外的步骤才能从文件 2 中删除重复:
cat file1 | while read f1 f2; do grep "$f1 $f2\|$f2 $f1" file2; done > redundancies.txt
grep -vf redundancies.txt file2 > file2b
【问题讨论】:
标签: linux bash while-loop grep