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ą „|”.
Skonfigurowałem rsyslogrejestrowanie niektórych zdarzeń dziennika w /dev/xconsole: *.*;cron.!=info;mail.!=info |/dev/xconsole /dev/xconsoleto nazwany potok ( fifo). Jeśli chcę zobaczyć, co jest rejestrowane, mogę to zrobić cat /dev/xconsole. Jestem zaskoczony, widząc, że polecenie cat /dev/xconsolenie kończy się po odczytaniu pliku, ale działa jak tail -f. innymi słowy, oba polecenia zachowują się tak samo: …
Mógłbym użyć dowolnego formularza do wykonania catmetody: cat file_name cat < file_name Wynik jest taki sam Następnie chcę wykonać manw formaciestdin man < file_name Chociaż file_namezawiera: # file_name cat Ale wyskakuje What manual page do you want?zamiast wykonać man cat. Chcę wiedzieć, dlaczego catmożna zaakceptować stdinjako argument, ale mannie mogę. …
Następujące polecenie powłoki miało wypisywać tylko nieparzyste linie strumienia wejściowego: echo -e "aaa\nbbb\nccc\nddd\n" | (while true; do head -n 1; head -n 1 >/dev/null; done) Ale zamiast po prostu drukuje pierwszą linię: aaa. To samo nie dzieje się, gdy jest używane z opcją -c( --bytes): echo 12345678901234567890 | (while true; …
Powiedzmy, że mamy plik tekstowy z zakazanymi liniami forbidden.txt. Jaki jest krótki sposób na odfiltrowanie wszystkich wierszy danych wyjściowych polecenia, które istnieją w pliku tekstowym? cat input.txt | exclude-forbidden-lines forbidden.txt | sort
Próbuję automatycznie przekonwertować pliki flac przeniesione do folderu na mp3 w innym folderze. Mój obecny wiersz kodu to: inotifywait -m -r -q -e moved_to --format "'%w%f'" ~/test | xargs -I x flac -cd x - | lame -b 320 - /media/1tb/x.mp3 Aby wyjaśnić, jak to działa do tej pory, inotifywait …
Używam svn exportjako części skryptu programu pakującego dla mojej aplikacji i wygląda na to, że to polecenie, podobnie jak wiele innych, nie ma żadnego paska postępu. W tej chwili mam dwie możliwości: używając go bez opcji i obserwuj, jak drukuje tysiące linii używając --quieti nie widząc niczego, dopóki się nie …
Przez jakiś czas majstrowałem przy tym, żeby to zadziałało, więc podejrzewam jakieś podstawowe nieporozumienie na temat działania rur, które jest główną przyczyną moich problemów. Moim celem jest zainicjowanie połączenia TCP z jakimś zdalnym hostem za pośrednictwem netcati posiadanie dwóch nazwanych potoków w systemie plików: jeden, z którego procesy mogą czytać, …
Chciałbym utworzyć posortowaną listę wszystkich usług TCP znalezionych w pliku /etc/services, potokować wyjście polecenia grep tcp /etc/servicesdo polecenia sort, a następnie przekierować wyjście tego potoku do pliku ~/pipelab.txt. Ciągle pojawia się komunikat o błędzie, że moje dane wyjściowe są nieprawidłowe i nie wiem dlaczego. Oto, co próbowałem ostatnio: grep tcp …
Czy istnieje sposób, aby ponownie napisać strukturę poleceń, A && B || C | Daby B lub C zostały podłączone do D? Przy bieżącym poleceniu uruchamiane są tylko B lub oba C i D. Na przykład:
Mam plik wejściowy z niektórymi sekcjami, które są oznaczone znacznikami początkowym i końcowym, na przykład: line A line B @@inline-code-start line X line Y line Z @@inline-code-end line C line D Chcę zastosować transformację do tego pliku, tak aby wiersze X, Y, Z były filtrowane przez niektóre polecenia ( nlna …
Podczas tworzenia skryptów powłoki przy użyciu potoków i używania odwrotnego ukośnika do kontynuowania linii, chcę wstawiać komentarze do oddzielnych linii w solidny, czytelny i przenośny sposób. Na przykład, biorąc pod uwagę to niekomentowane polecenie wieloliniowe (skradzione z @DigitalRoss ze względu na jego przejrzystość): echo abc | tr a-z A-Z | …
jeśli chcę wyświetlić „aaa” na ekranie: (1)$: echo aaa | cat ... works OK (2)$: echo aaa | ( cat ) ... works OK (3)$: echo aaa | ( cat & ) ... NOT working (4)$: ( echo aaa & ) | cat ... works OK (5)$: echo aaa | …
INPUT_FILE=`ls -rt $MY_DIR/FILE.*.xml | head -1 | xargs basename` Chciałem wykonać drugie polecenie ( head -1) tylko wtedy, gdy pierwsze polecenie zakończy się powodzeniem. Jak poprawić to polecenie?
Czy istnieje narzędzie, które mogę włożyć do potoku, aby oddzielić prędkości odczytu i zapisu? $ producer | buf | consumer Zasadniczo chcę narzędzie, bufktóre odczytuje dane wejściowe tak szybko, jak to możliwe, przechowując je w pamięci, aby consumermogło zająć słodki czas, gdy producerdziała tak szybko, jak to możliwe.
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.