Potok Unix łączy deskryptory plików dwóch procesów. Potok jest tworzony za pomocą funkcji potoku POSIX zadeklarowanej w <unistd.h>. Powłoki umożliwiają tworzenie potoków między procesami za pomocą „|”.
Zastanawiałem się, czy istnieje sposób na przesłanie wyniku polecenia i skierowanie go do standardowego wyjścia. Na przykład fortunedrukuje plik cookie fortuny, a także kopiuje go do schowka: $ fortune | tee >(?stdout?) | pbcopy "...Unix, MS-DOS, and Windows NT (also known as the Good, the Bad, and the Ugly)." (By …
Rozważ pojedynczy plik tar z zewnętrznego systemu, który zawiera niektóre katalogi z różnymi atrybutami, które chcę zachować, takie jak uprawnienia, czasy itp. Jak mogę łatwo wziąć podzbiór tych plików jako zwykły użytkownik (nie root)? Szukasz czegoś takiego: tar -f some.tar.gz --subset subdir/ | ssh remote@system tar xvz Ważne jest również, …
Przygotowuję prezentację dla nietechnicznych odbiorców. Mam program działający w trybie bash, który generuje ciągły strumień wartości, z których kilka jest ważnych. Chciałbym podkreślić ważne wyniki podczas ich wyświetlania, aby publiczność mogła dowiedzieć się o ich częstotliwości. Problem polega na tym, że nie mogę seduruchomić działającego strumienia. Działa dobrze, jeśli umieszczę …
Potrzebujesz wyjaśnień od zaawansowanych użytkowników na temat takiego nieprzewidzianego zachowania: ps -eF | { head -n 1;grep worker; } UID PID PPID C SZ RSS PSR STIME TTY TIME CMD root 441 2 0 0 0 2 paź15 ? 00:00:00 [kworker/2:1H] wszystko wygląda dobrze, podczas gdy ls -la / | …
Nie mam dużego doświadczenia w używaniu tee, więc mam nadzieję, że nie jest to bardzo podstawowe. Po obejrzeniu jednej z odpowiedzi na to pytanie natknąłem się na dziwne zachowanie tee. Aby wygenerować pierwszy wiersz i znaleziony wiersz, mogę użyć tego: ps aux | tee >(head -n1) | grep syslog USER …
Mam plik makefile, w którym zatrzymuję usługę przed usunięciem pliku. Gdy nie może zatrzymać usługi, zepsuje się przy błędzie. Jest to wyraźnie niepożądane, więc pomyślałem, że dodam, || trueale przegapiłem |. Robić to: stop service foo | true rm /etc/init/foo.conf Jestem zdezorientowany, dlaczego to działa i co się dzieje. Czy …
Mam skrypt bash, który uruchamia funkcję manager () jako osobny proces dla x-razy. Jak można przekazywać wiadomości do wszystkich procesów menedżera () z poziomu skryptu? Czytałem o anonimowych potokach, ale nie mam pojęcia, jak udostępniać im wiadomości. Próbowałem to zrobić z nazwanymi potokami, ale wygląda na to, że musiałbym utworzyć …
Mam skrypt, który wywołuje program (w szczególności ttf2afmczęść tetex 3.0), który czasami segfuje, a czasem nie. Informacje, których potrzebuję, są zawsze drukowane, zanim ulegną segregacji, ale trudno mi jest powstrzymać przekierowanie potoku przed awarią i nie wysyłać niczego do potoku, gdy program zawiedzie. Próbowałem przekierować przez FIFO, nawiasować proces za …
Mam program UNIX czarnej skrzynki używany w powłoce Bash, która odczytuje kolumny danych ze standardowego wejścia, przetwarza je (stosując efekt wygładzania), a następnie wysyła do standardowego wyjścia. Używam go przez potoki UNIX, jak generate | smooth | plot Aby uzyskać bardziej wygładzanie, mogę powtórzyć wygładzanie, aby można je było wywołać …
Mam problem z debugowaniem programu segfault, ponieważ potrzebuję wyjścia bezpośrednio przed segfault, ale tracę go, jeśli przesyłam dane wyjściowe do pliku. Zgodnie z tą odpowiedzią: /unix//a/17339/22615 dzieje się tak , ponieważ bufor wyjściowy programu jest opróżniany natychmiast po podłączeniu do terminala, ale tylko w niektórych punktach po podłączeniu do potoku. …
Kwestia jqpotrzeby jawnego filtrowania podczas przekierowywania danych wyjściowych jest omawiana w Internecie. Ale nie jestem w stanie przekierować danych wyjściowych, jeśli jqjest częścią łańcucha potoków, nawet jeśli używany jest filtr jawny. Rozważać: touch in.txt tail -f in.txt | jq '.f1' # in a different terminal: echo '{"f1":1,"f2":2}' >> in.txt echo …
Masz pojęcie, co może być tego przyczyną? Bez użycia grep wyświetlane są tylko kody ISO i puste miejsce. Użyte oprogramowanie Komenda: ./trans --id --input /path/to/txt | grep ISO | grep [a-z] root@box /test # alias grep alias grep='grep --color=auto' root@box /test # type grep grep is aliased to `grep --color=auto' …
Jest to specyficzne dla systemu macOS, ale wydaje się zbyt unikatowe, aby przejść do społeczności Ask Different . W Terminalu mogę pwdskopiować wynik, a następnie wpisać openi wkleić wynik, a folder otworzy się w Finderze, ale pwd | open drukuje dokumentację pomocy dla open. Dlaczego pipowanie nie działa, a wklejanie?
W przypadku podłączenia do komputera o SSH, zwykle trzy „rury” są między gościem a gospodarzem, dla stdin, stdouti stderr. Czy jest dostępna opcja wiersza polecenia do tworzenia dalej dla dodatkowych deskryptorów plików ( 3i kolejnych )? Na przykład chciałbym to zrobić ssh --forwardfd=10:3 remotehost 'echo test >&3' który wypisuje „test” …
Nie mogę zrozumieć dlaczego $ apt-cache policy foo N: Unable to locate package foo ale $ apt-cache policy foo 2>&1 | grep . jest pusty. Gdzie w tym drugim wezwaniu robię błędne założenie? Oryginalne zadanie: apt-cache policyprawdopodobnie przetwarzam dane wyjściowe :-) UPD : fooużyte w moim przykładzie można zastąpić dowolną …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.