Łączenie wielu poleceń
Część sekcji Podstawy ścieżki Terminal w Coddy. Lekcja 45 z 82.
Nie musisz ograniczać się do łączenia tylko dwóch poleceń. Potoki mogą łączyć dowolną liczbę poleceń, a każde z nich przetwarza wynik poprzedniego polecenia.
Po prostu dodaj więcej symboli |, aby rozbudować potok:
cat data.txt | sort | head -5Odczytuje to plik, sortuje wszystkie wiersze alfabetycznie, a następnie wyświetla tylko pierwsze 5 wyników. Dane przepływają od lewej do prawej przez kolejne polecenia.
Oto praktyczny przykład, który znajduje unikalne, posortowane wpisy:
cat names.txt | sort | uniqZawartość pliku jest najpierw sortowana (co grupuje duplikaty), a następnie uniq usuwa kolejne zduplikowane wiersze. Kolejność ma tu znaczenie: uniq usuwa tylko sąsiadujące duplikaty, dlatego sortowanie musi być pierwsze.
Możesz dodać jeszcze więcej etapów. Aby policzyć, ile jest unikalnych imion:
cat names.txt | sort | uniq | wc -lKażda potok dodaje kolejny etap transformacji. Podczas tworzenia dłuższych potoków zastanów się, jakich danych wejściowych wymaga każde polecenie i jakie dane wyjściowe generuje. Format danych wyjściowych jednego polecenia musi być odpowiedni jako dane wejściowe dla następnego.
Wyzwanie
ŁatwyPlik visitors.txt zawiera listę imion odwiedzających, w której występują duplikaty. Użyj potoku złożonego z czterech poleceń, aby policzyć liczbę unikalnych odwiedzających.
Uruchom jedno polecenie, które:
- Używa
catdo odczytania plikuvisitors.txt - Przekazuje wynik do
sort, aby uporządkować imiona alfabetycznie - Przekazuje wynik do
uniq, aby usunąć zduplikowane wpisy - Przekazuje wynik do
wc -l, aby policzyć unikalne imiona
Podpowiedź: Połącz wszystkie cztery polecenia, używając kilku symboli
|. Pamiętaj, żeuniqusuwa tylko sąsiadujące duplikaty, dlatego przed nim należy sortować.
Spróbuj swoich sił
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
4Katalogi
Utwórz katalogSkopiuj katalogPrzenieś i zmień nazwę kataloguUsuń katalogPodsumowanie — operacje na katalogach7Zawartość plików
Początek i koniecLiczba słówPolecenie sortPolecenie uniqPodstawy grepgrep z opcjamiPowtórka – detektyw tekstu10Projekt analizatora logów
Przegląd projektuPrzeglądanie pliku logów2Nawigacja
Wyświetlanie bieżącego kataloguWyświetlanie plikówZmiana kataloguŚcieżki bezwzględne i względneKatalog domowy i głównyPowtórka — znajdź drogę8Przekierowywanie
Standardowe wyjścieNadpisywanie plikuDopisywanie do plikuStandardowe wejścieStandardowe wyjście błędówPodsumowanie — tworzenie dziennika3Pliki
Utwórz plikOdczytaj plikSkopiuj plikPrzenieś i zmień nazwę plikuUsuń plikPodsumowanie — operacje na plikach6Symbole wieloznaczne i wzorce
Symbol wieloznaczny gwiazdkaSymbol wieloznaczny znak zapytaniaSymbole wieloznaczne w nawiasachŁączenie symboli wieloznacznychPowtórka — operacje selektywne9Potoki
Czym jest potokŁączenie dwóch poleceńŁączenie wielu poleceńPotok z grepPodsumowanie – potok danychPoćwicz samodzielnie: Edytor online Terminal