Polecenie Pipe, Grep i Sort w systemie Linux/Unix z przykładami

Co to jest potok w systemie Linux?

Pipe to polecenie w systemie Linux, które pozwala używać dwóch lub więcej poleceń, tak że dane wyjściowe jednego polecenia służą jako dane wejściowe do następnego. Krótko mówiąc, wyjście każdego procesu bezpośrednio jako wejście do następnego, jak potok. Symbol „|” oznacza rurę.

Pipes pomagają połączyć dwa lub więcej poleceń w tym samym czasie i uruchomić je kolejno. Możesz używać potężnych poleceń, które mogą wykonywać złożone zadania w mgnieniu oka.

Zrozummy to na przykładzie.

Gdy używasz polecenia „cat” do przeglądania pliku zajmującego wiele stron, monit szybko przeskakuje do ostatniej strony pliku, a zawartość nie jest widoczna w środku.

Aby tego uniknąć, możesz potokować wyjście polecenia „cat” do „less”, co spowoduje wyświetlenie tylko jednej długości przewijania treści na raz.

cat filename | less 

Ilustracja by to wyjaśniła.

Co to jest potok w systemie Linux

Kliknij tutaj jeśli film nie jest dostępny

Polecenia „pg” i „więcej”.

Zamiast „mniej” możesz także użyć.

cat Filename | pg 

or

cat Filename | more

Możesz także przeglądać plik w przystępnych fragmentach i przewijać w dół, po prostu naciskając klawisz Enter.

Polecenia „pg” i „więcej”.

Polecenie „grep”.

Załóżmy, że chcesz wyszukać określoną informację w kodzie pocztowym z pliku tekstowego.

Możesz ręcznie przeglądać zawartość, aby prześledzić informacje. Lepszą opcją jest użycie polecenia grep. Skanuje dokument w poszukiwaniu żądanych informacji i przedstawia wynik w żądanym formacie.

Składnia:

grep search_string

Zobaczmy to w akcji –

Polecenie „grep”.

Tutaj, grep polecenie przeszukało plik „sample” w poszukiwaniu ciągów „Jabłko” i „Jedz”.

Z tym poleceniem można używać następujących opcji.

Option Funkcjonować
-v Pokazuje wszystkie wiersze, które nie pasują do szukanego ciągu
-c Wyświetla tylko liczbę pasujących linii
-n Pokazuje pasującą linię i jej numer
-i Dopasuj obie (duże i małe) litery
-l Pokazuje tylko nazwę pliku z ciągiem

Wypróbujmy pierwszą opcję '-i' na tym samym pliku użyj powyżej –

Używając opcji „i” grep odfiltrował ciąg „a” (wielkość liter nie ma znaczenia) ze wszystkich linii.

Polecenie „grep”.

Polecenie sortowania

To polecenie pomaga sortowanie zawartości pliku alfabetycznie.

Składnia tego polecenia to:

sort Filename

Rozważ zawartość pliku.

Polecenie sortowania

Korzystanie z polecenia sortowania

Polecenie sortowania

Tam są rozszerzenia do tego polecenia, a są one wymienione poniżej.

Option Funkcjonować
-r Revsortowanie
-n Sortuje numerycznie
-f Sortowanie bez uwzględniania wielkości liter

Poniższy przykład pokazuje odwrotne sortowanie zawartości pliku „abc”.

Polecenie sortowania

Co to jest filtr?

Linux ma wiele poleceń filtrujących, takich jak awk, grep, sed, Spell i wc. Filtr pobiera dane wejściowe z jednego polecenia, przetwarza je i podaje dane wyjściowe.

Kiedy potokujesz dwa polecenia, „przefiltrowane” wyjście pierwszego polecenia jest przekazywane następnemu.

Co to jest filtr

Zrozummy to na przykładzie.

Mamy następujący plik 'sample'

Co to jest filtr

Chcemy podkreślić tylko te linie, które nie zawierają znaku „a”, ale wynik powinien być w odwrotnej kolejności.

W tym celu można użyć następującej składni.

cat sample | grep -v a | sort - r

Spójrzmy na wynik.

Co to jest filtr

Podsumowanie:

  • Rury „|” wysłać wynik jednego polecenia jako dane wejściowe innego polecenia.
  • Filtr pobiera dane wejściowe z jednego polecenia, przetwarza je i podaje dane wyjściowe.
  • Polecenie grep może służyć do wyszukiwania ciągów znaków i wartości w dokumencie tekstowym
  • Potokowanie przez grep musi być jednym z najczęstszych zastosowań
  • Polecenie „sort” sortuje zawartość pliku alfabetycznie
  • Polecenia less, pg i more służą do dzielenia długiego pliku na czytelne bity