Pytania otagowane jako pipe

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ą „|”.

3
ciągły odczyt z nazwanej rury (cat lub tail -f)
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: …
16 pipe  cat  tail  fifo 

2
Jaka jest różnica między STDIN a argumentami przekazywanymi do polecenia?
Mógłbym użyć dowolnego formularza do wykonania catmetody: cat file_name cat &lt; file_name Wynik jest taki sam Następnie chcę wykonać manw formaciestdin man &lt; 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ę. …

3
głowa zjada dodatkowe postacie
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 &gt;/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; …


2
Czy jest jakiś sposób na użycie xargs na rurze?
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 …
15 shell  pipe  xargs  inotify 


3
Używanie nazwanych potoków wejścia / wyjścia dla połączenia TCP
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ć, …
15 bash  pipe  tcp  netcat 

2
Jak sortować za pomocą poleceń grep i sort?
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 …
15 shell  pipe 

1
Dlaczego orurowanie prowadzące do „ogona” zmienia zawartość linii?
Kiedy przeglądam wynik SELECTz MySQL Workbench, jest poprawny z jednym pojedynczym \ max@host 10:13:58: ~$ mysql -h db-master.domain.local -uuser -ppw db -e ' &gt; SELECT &gt; DISTINCT i.filesourceregexp &gt; FROM db.ImportLogFiles i' +------------------------------------------------+ | filesourceregexp | +------------------------------------------------+ | ^[0-9]{8}_1062355673_merge_google_pbn\.csv$ | | ^[0-9]{8}_8026062435_merge_google_pbn\.csv$ | | ^[0-9]{8}_1062355673_store_visits_report\.csv$ | +------------------------------------------------+ max@host 10:14:10: ~$ …
14 pipe  mysql  tail 

3
Rura B do D? - A i&B || C | re
Czy istnieje sposób, aby ponownie napisać strukturę poleceń, A &amp;&amp; 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:
14 bash  pipe 

9
Filtruj lub potokuj określone sekcje pliku
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 …


1
wejście potoku procesu w tle
jeśli chcę wyświetlić „aaa” na ekranie: (1)$: echo aaa | cat ... works OK (2)$: echo aaa | ( cat ) ... works OK (3)$: echo aaa | ( cat &amp; ) ... NOT working (4)$: ( echo aaa &amp; ) | cat ... works OK (5)$: echo aaa | …


5
Narzędzie do buforowania nieograniczonej ilości danych w potoku?
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.
14 pipe  io  buffer 

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.