Przejdź do treści

Centrum Kształcenia Zawodowego i Ustawicznego w Mrągowie

Bash: Potoki

wtorek,

Bash: Potoki

Potoki (pipeline) w Bashu to bardzo potężne narzędzie, które pozwala przekazywać wyjście jednego polecenia jako wejście do innego. Dzięki temu można łączyć proste polecenia w bardziej złożone operacje i tworzyć skomplikowane ciągi przetwarzania bez potrzeby tworzenia tymczasowych plików czy zapisywania pośrednich wyników.

Przykłady

Filtrowanie listy plików

Jeśli chcesz zobaczyć listę plików z rozszerzeniem .txt w bieżącym katalogu, możesz użyć potoku łączącego polecenia lsgrep:

ls | grep ".txt"

To polecenie najpierw wygeneruje listę wszystkich plików i katalogów (dzięki ls), a następnie grep przefiltruje te wyniki, pokazując tylko te, które zawierają .txt.

Liczenie plików w katalogu

Jeśli chcesz wiedzieć, ile plików znajduje się w bieżącym katalogu, możesz połączyć lsgrep.

ls -l | grep -c "^-"

Tutaj ls -l wyświetla szczegółową listę zawartości katalogu, grep -c "^-" wybiera tylko linie, które opisują pliki (a nie katalogi) i dzięki przełącznikowi -c zwraca ich liczbę.

Sortowanie procesów według zużycia pamięci

Możesz użyć potoku do wyświetlenia listy procesów, posortowanej według zużycia pamięci:

ps aux | sort -nrk 4 | head

Polecenie ps aux wyświetla wszystkie działające procesy, sort -nrk 4 sortuje je numerycznie (-n) w odwrotnej kolejności (-r) według czwartej kolumny (zużycie pamięci), a head pokazuje tylko pierwsze 10 z nich.

Wyszukiwanie tekstu w plikach

Możesz przeszukać wszystkie pliki w katalogu (i podkatalogach) pod kątem określonego tekstu:

find . -type f | xargs grep "szukany_tekst"

Komenda find . -type f znajduje wszystkie pliki w bieżącym katalogu i jego podkatalogach, a xargs grep "szukany_tekst" przeszukuje każdy z tych plików w poszukiwaniu "szukany_tekst".

Trzy miesiące temu na naszej stronie…

Artykuł: Pierwszy skrypt bash

Pierwszy skrypt bash

Artykuł: Harmonogram egzaminów maturalnych

Harmonogram egzaminów maturalnych

Artykuł: Staże w Hiszpanii

Staże w Hiszpanii

Artykuł: Conformité Européenne

Conformité Européenne

Artykuł: Display Stream Compression

Display Stream Compression

Artykuł: High Dynamic Range

High Dynamic Range

Nasze technikum

Technik informatyk

Szkoły dla dorosłych

Nasza szkoła

Pełna oferta edukacyjna

Oferta szkoły