【发布时间】:2014-10-24 16:14:02
【问题描述】:
我有两个文件 test1.txt 和 test2.txt
test1.txt 包含
abc.cde.ccd.eed.12345.5678.txt
abcd.cdde.ccdd.eaed.12346.5688.txt
aabc.cade.cacd.eaed.13345.5078.txt
abzc.cdae.ccda.eaed.29345.1678.txt
abac.cdae.cacd.eead.18145.2678.txt
aabc.cdve.cncd.ened.19945.2345.txt
并且 test2.txt 包含
12345.5678.txt
29345.1678.txt
18145.2678.txt
10111.2222.txt
我想比较这两个文件并在 bash 中给我这样的输出
在这两个方面:
abc.cde.ccd.eed.12345.5678.txt
abzc.cdae.ccda.eaed.29345.1678.txt
abac.cdae.cacd.eead.18145.2678.txt
仅在 test1.txt 中
abcd.cdde.ccdd.eaed.12346.5688.txt
aabc.cade.cacd.eaed.13345.5078.txt
aabc.cdve.cncd.ened.19945.2345.txt
仅在 test2.txt 中
10111.2222.txt
【问题讨论】:
-
comm 不会比较,因为 test2.txt 只包含 test1.txt 的部分内容。
-
No diff 也不能比较,因为 test2 只包含 test1 的一部分
-
@user3845185 经过一些预处理后可以使用 comm