3

我有以下问题:我想比较包含这样一个列表的 8 个文件的内容

Sample1.txt    Sample2.txt     Sample3.txt
apple          pineapple       apple
pineapple      apple           pineapple
bananas        bananas         bananas
orange         orange          mango
grape          nuts            nuts

使用comm Sample1.txt Sample 2.txt我可以有这样的东西

grape    nuts    apple
                 pineapple
                 bananas
                 orange

意思是在第一列中我有一些只与第一个样本有关的东西,第二列是只与第二个样本相关的东西,第三列是共同点。

我想做同样的事情,但有 8 个文件(示例)。使用 diff 是不可能的,但最后我想拥有

Sample1  Sample2   Sample3    ...Sample8     Things in common
grape    nuts      mango                     apple
                                             pineapple
                                             bananas

有没有机会用 bash 做到这一点?是否有像 diff 这样的命令允许搜索两个以上文件的差异?

谢谢大家...我知道这是一个具有挑战性的问题

法比奥

4

1 回答 1

0

这是我天真的解决方案:

first=sample1.txt; for a in *.txt; do comm -12 $first $a >temp_$a; echo "comparing" $first " " $a "and writing to temp_$a"; first=temp_$a; cat temp_$a; done;
于 2013-11-04T03:29:43.280 回答