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.
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.
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 –
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 sortowania
To polecenie pomaga sortowanie zawartości pliku alfabetycznie.
Składnia tego polecenia to:
sort Filename
Rozważ zawartość pliku.
Korzystanie z polecenia 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”.
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.
Zrozummy to na przykładzie.
Mamy następujący plik 'sample'
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.
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