Niedawno odkryłem pakiet „moreutils” w Debianie (i Ubuntu) . To zbiór wygodnych narzędzi uniksowych.
Jednym z poleceń jest „siusiu”. Strona podręcznika mówi:
siusiu jest jak tee, ale do fajki.
Jakkolwiek jest to krótka strona podręcznika, zgłosiłem błąd . Czy ktoś wie, co robi, jak go używać, dlaczego miałby go używać?
stdin
i nadawania klonom każdego skryptu matematycznego wzorca nazwy pliku, czy czysty bash może to zrobić? AFAIU rozszerzyłoby gwiazdkę w nawiasach, powodując coś takiego,tee >(app1 app2 app3 app4)
co nie jest tak,>(app1) >(app2) >(app3) >(app4)
że twoja odpowiedź pokazujetee >/dev/null
aby uniknąć replikacji standardowego wejścia na standardowe wyjściecat file | pee 'grep this' 'grep that' > lines.with.this.or.that.txt
... używając Tee, po prostu dostaniesz kopięfile
na standardowe wyjście.>(command)
funkcja nazywa się zastępowaniem procesów .Prawdopodobnie łatwiej to zrozumieć, jeśli używałeś
tee
pierwszego. To przydatne stare narzędzie pobiera standardowe dane wejściowe i zapisuje je w wielu plikach oraz standardowe dane wyjściowe. Następujące:Utworzy dwa pliki o nazwach
one
itwo
oba zawierające ciągHello world
. Będzie również drukować na twoim terminalu.Teraz
pee
wykonuje podobną funkcję, ale zamiast przekierowywać dane wyjściowe do wielu plików, przekierowuje do wielu dodatkowych poleceń, potoków. Różni się nieznacznie odtee
tego, że nie wysyła oryginalnego wejścia na standardowe wyjście, ponieważ nie ma sensu łączenie go z danymi wyjściowymi poleceń wtórnych. Poniższy bardzo prosty przykład:Wyśle ciąg
Hello world
do terminala dwa razy. Jest tak, ponieważ każdy z dwóch przypadkówcat
odbiera standardowe wyjście i robi tocat
, co robi, czyli drukuje.źródło