compare two files in UNIX

前端 未结 4 987
南笙
南笙 2020-12-13 10:21

I would like to compare two files [ unsorted ] file1 and file2. I would like to do file2 - file1 [ the difference ] irrespective of the line number? diff is not working.

4条回答
  •  眼角桃花
    2020-12-13 11:14

    Well, you can just sort the files first, and diff the sorted files.

    sort file1 > file1.sorted
    sort file2 > file2.sorted
    diff file1.sorted file2.sorted
    

    You can also filter the output to report lines in file2 which are absent from file1:

    diff -u file1.sorted file2.sorted | grep "^+" 
    

    As indicated in comments, you in fact do not need to sort the files. Instead, you can use a process substitution and say:

    diff <(sort file1) <(sort file2)
    

提交回复
热议问题