今天是个好日子,
我知道很多类似的问题已经得到解答,但我找不到令人满意的答案,这让我很抓狂。
我有两个文件,它们都包含主机名:一个包含所有向互联网开放的文件,另一个记录我们所有主机的所有扫描结果,无论是否向互联网开放。
文件A(1111.com、1112.com、www.1113.com、1114.com)
文件B(1111.com、1199.com、1299.com、www2.1329.com)
我的目标是打印一个仅打印主机的文件只在文件 B 中。我尝试了 diff 和 comm,但无法对文件进行预排序,因为条目有时有点不同。
有没有人有办法解决吗 ?
答案1
无法对文件进行预排序不是问题:
comm -13 <(sort fileA) <(sort fileB)
这给出了
1199.com
1299.com
www2.1329.com
根据您的示例,假设每个主机位于单独的线路上。-13
指示comm
删除第 1 列(第一个文件特有的行)和第 3 列(两个文件共有的行),只留下第二个文件特有的行。