Skrypty powłoki Bash #17 - Potoki
Wstęp
Dzień dobry, dziś przedstawię kilka informacji o potokach (ang. Pipes). Serdecznie zapraszam.
Co to takiego?
Pipe, jest to mechanizm, przekazywania strumienia danych z wyjścia jednej komendy na drugą.
A teraz po polsku.
Pipe znak: |
przekazuje to, co komenda po lewej drukuje (stdout=echo, print etc.) do wejścia (stdin) komendy po prawej.
Na przykład:
echo 'tes@t' | sed 's/@//'
# test
sed (stream editor) program, do edycji strumieni tekstu
Jak to można wykorzystać
Pipe’y są bardzo użytecznym narzędziem. Szczególnie jeśli nie chcemy szukać jednego specjalnego przełącznika dla konkretnego działania.
Dla przykładu powiedzmy, że chcemy wyświetlić linie od 20 do 30 w jakimś pliku, ale tylko te 10.
Możemy szukać jak to zrobić w head
albo samym tail
czy posiłkować się inną komendą. Możemy również użyć do tego pipe |
.
Przykład:
head -n 30 dlugi_plik.txt | tail
# linie 20-30
Można również spróbować wyłuskać tylko katalogi z listy.
Załóżmy, że chcemy wyciągnąć tylko katalogi z lokalizacji /etc
W tym celu wykonamy komendę
ls -l /etc | grep "^d"
-l od long; “^d” oznacza “rozpoczyna się od d”
Epilog
Na dziś to tyle.
Mam nadzieję, że dowiedziałeś/łaś się czegoś nowego, albo odświeżyłeś/łaś sobie wiedzę. Tak czy inaczej, serdecznie Ci dziękuję, za przeczytanie tego posta. Jeśli masz potrzebę o cos zapytać, kontakt znajdziesz w zakładce “O Mnie”. A teraz życzę miłego dzionka i smacznej kawusi :) Do widzenia.