Potokowanie strumienia danych Zastosowanie znaku | pozwala na

Transkrypt

Potokowanie strumienia danych Zastosowanie znaku | pozwala na
Potokowanie strumienia danych
Zastosowanie znaku | pozwala na łączenie wyjścia jednego polecenia z wejściem innego.
Dane wygenerowane za pomocą pierwszego polecenia przekazane zostaną na wejście
następnego polecenia i po przetworzeniu przekazane na wejście kolejnego lub na ekran. Tego
typu przetwarzanie danych jest nazywane potokiem. Polecenia często wykorzystywane
potokach:
more – służy do przeglądania tekstu strona po stronie, jeden ekran na raz, przewijanie stron
możliwe tylko „do przodu”, np.
ls –la | more,
less – podobnie jak more, ale przewijanie stron możliwe w obu kierunkach, np.
ls –la | less,
cat – polecenie wyświetla na ekranie zawartość pliku tekstowego, np.
cat /etc/passwd | less,
grep – przeszukuje wskazany strumień danych, szukając linii zawierających ciąg znaków
pasujących do podanego wzorca,
cat /etc/passwd | grep uczen,
wc
– wypisuje liczbę bajtów, słów lub linii w plikach, np.
ls –la | wc –l
sort – sortuje, zlepia lub porównuje wszystkie linie z podanych plików, np.
cat /etc/passwd | sort
tee – rozgałęzienie strumienia. Pobiera dane ze strumienia wejściowego i tworzy dwa
strumienie wyjściowe – jeden podłączony do standardowego wyjścia, a drugi do
wskazanego pliku, np.
cat /etc/passwd | sort | tee konta_alfabetycznie
Przykład:
ls –la | grep plik | wc –l
W tym przykładzie polecenie ls –la wygeneruje zestaw danych, będący listą zbiorów
w katalogu bieżącym (każdy zbiór w nowej linii). Dane te przekazane zostaną na wejście
polecenia grep. Polecenie to wyszuka linie zawierające ciąg znaków „plik”. Polecenie wc
zliczy linie w zbiorze danych uzyskanych na wyjściu polecenia grep. W wyniku
przetwarzania danych przez cały potok zostanie uzyskana liczba plików zawierających
w nazwie ciąg znaków „plik”.
Ćwiczenie 1 – Tworzenie potoków danych
1. Zaloguj się na konto użytkownika root.
2. Wpisz w konsoli polecenie:
ls –la | wc –l > lista.txt
Polecenie ls utworzy listę zbiorów w aktualnym katalogu i przekaże do
przetworzenia przez polecenie wc. Polecenie to zliczy liczbę wierszy w liście
i przekieruje wynik do pliku lista.txt.
3. Wpisać w konsoli polecenie:
ls –la | grep .txt >> lista.txt
Polecenie ls utworzy listę zbiorów w aktualnym katalogu i przekaże do
przetworzenia przez polecenie grep. Polecenie to odfiltruje zbiory posiadające
w nazwie ciąg znaków .txt i dopisze ich wykaz do pliku lista.txt.
4. Wpisać w konsoli polecenie:
ls –la | grep .txt | wc –l >> lista.txt
Polecenie ls utworzy listę zbiorów w aktualnym katalogu i przekaże do
przetworzenia przez polecenie grep. Polecenie grep odfiltruje zbiory posiadające
w nazwie ciąg znaków .txt i przekaże do przetworzenia przez polecenie wc.
Polecenie wc zliczy liczbę wierszy w liście i dopisze wynik do pliku lista.txt.