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
Get Bash. Receptury now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.