只打印两个文件之间的公共字符串

时间:2013-11-25 21:20:45

标签: shell unix

我有两个文件file1

    file1 

    aaaaa bbbb
    bbb cccc
    dddd ee
    vvvv
    yy

和file2

file 2
xxxx uuuuuuu
mmm rrrrrrrrrrr
bbb cccc
oo
l

我需要在文件3中打印这两个文件的共同点

所以结果将是

bbb cccc

我尝试了comm file1 file2> file3

但它显示

file 2 is not in sorted order
file 1 is not in sorted order

和很多输出

是输出只是我需要的两个文件之间的共同点吗?

1 个答案:

答案 0 :(得分:0)

这意味着您需要首先对file1进行排序,然后在尝试comm命令之前先对file2进行排序。

sort file1 > tmp; mv tmp file1    # you may also be able to use sort -o file1 file1
sort file2 > tmp; mv tmp file2
comm -12 file1 file2> file3

注意comm -12有一些选项可以让你得到结果