简体   繁体   中英

terminal, diff of two files, print out all lines, which are on the 2nd file a no on 1st file

On follow samples, every line can be empty or can have some characters. The characters can be other than numbers too. Every line can have line feeds and tabs too.

Follow looks partly fine, a don't work with more complex content:

file1.txt

1
2
3

5

file2.txt

1


4
5

working with simple sample above:

comm -1 -3 file1.txt file2.txt

Output, which is fine

4

More complex sample, which don't fit file1.txt

0

2
3
4
5
6
7
8

10

file2.txt

1


4

6
7
8
9
10

wrong output (the 10 should not on output on this sample)

1



9
10

If your sort the contend your file1.txt and file2.txt on the same way, before running your sample code, your sample code works fine.

You can do it on follow way:

sort file1.txt > file1_sorted.txt

sort file2.txt > file2_sorted.txt

After than, use the files above, for your code:

comm -1 -3 file1_sorted.txt file2_sorted.txt

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM