wypisz niepasujące liczby, porównując dwa pliki w systemie Linux

0

Na przykład mam dwa pliki

plik1.txt z dwoma kolorami oddzielonymi:

1111: 2222

3333: 4444

5555: 6666

7777: 8888

plik2.txt

1111: 2222

3333: 4444

5555: 6666

Chcę porównać drugi kolor i pożądane wyjście powinno wynosić 7777: 8888

ltps
źródło

Odpowiedzi:

1

Zakładając, że chcesz użyć file1.txtjako odniesienia, tzn. Podaj mi wszystko file1.txt, co się nie pojawia file2.txt, możesz użyć polecenia comm :

comm -23 file1.txt file2.txt

Dodatkowo, jeśli chcesz usunąć puste linie z plików / danych wyjściowych, możesz użyć sed, aby je usunąć najpierw, przed porównaniem:

comm -23 <(sed '/^$/d' file1.txt) <(sed '/^$/d' file2.txt)
tgallacher
źródło
0

Myślę, że masz na myśli „wiersz”, a nie „kolumnę” (wiersze biegną od lewej do prawej, kolumny od góry do dołu).

Polecenie, którego szukasz, to

diff file1.txt file2.txt
Davidgo
źródło
Nie szukam różnicy .. chcę wydrukować unikalną wartość między dwoma plikami
ltps