O'Reilly logo

Bash. Receptury by Cameron Newham, JP Vossen, Carl Albing

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

17.16. Wyszukiwanie wierszy tylko jednego pliku

Problem

Musimy porównać dwa pliki danych i wyodrębnić te wiersze jednego z nich, które nie występują w drugim.

Rozwiązanie

Pierwsza czynność polega na posortowaniu treści i wyodrębnieniu odpowiednich fragmentów za pomocą instrukcji cut lub awk. Następnie w zależności od potrzeb można wykorzystać narzędzia takie jak comm, diff, grep czy uniq.

Oto przykład wykonania zadania za pomocą instrukcji comm:

$ cat lewy
rekord_01
rekord_02.tylko w lewym
rekord_03
rekord_04
rekord_05.różnica
rekord_06
rekord_07
rekord_08
rekord_09
rekord_10

$ cat prawy
rekord_01
rekord_02
rekord_04
rekord_05
rekord_06.różnica
rekord_07
rekord_08
rekord_09.tylko w prawym
rekord_10

# Tylko wiersze pliku lewy
$ comm -23 lewy prawy

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required