Запитання з тегом «pipe»

Труба Unix з'єднує дескриптори файлів двох процесів. Труба створюється за допомогою функції POSIX pipe (), оголошеної в <unistd.h>. Оболонки забезпечують створення труби між процесами, використовуючи "|".

3
Знайдіть трубу в grep -v
Я намагаюся знайти всі файли певного типу та не містять певного рядка. Я намагаюся зробити це, пройшовши трубопровід до grep -v приклад: find -type f -name '*.java' | xargs grep -v "something something" Це, здається, не працює. Здається, це просто повернення всіх файлів, знайдених командою find. Що я намагаюся зробити, …
18 grep  find  pipe 

5
Використання даних, прочитаних з труби, а не з файлу в параметрах команд
За визначенням людини, ця команда отримує вхід з файлу. $ command -r FILENAME Припустимо , що FILENAMEце файл , який містить список імен файлів, так як він був створений з використанням ls &gt; FILENAME. Як я можу натомість подати команду результатом lsбезпосередньо? У моїй голові має бути можливо щось подібне: …
18 bash  pipe 

4
Чому тут не спрацьовує труба?
У мене є така команда: find / -name libGL.so.1 Який повертає безліч рядків із "Дозволом відмовлено". Я хочу виключити такі рядки, тому я додав наступне: find / -name libGL.so.1 | grep -v 'denied' Але вихід той самий - мій grep -v 'denied'не фільтрує лінії з Permission denied. Я спробував багато …
18 shell  grep  pipe 

3
tee + cat: кілька разів використовуйте результат, а потім з'єднуйте результати
Якщо я викликаю якусь команду, наприклад, echoя можу використовувати результати цієї команди в декількох інших командах tee. Приклад: echo "Hello world!" | tee &gt;(command1) &gt;(command2) &gt;(command3) З котом я можу зібрати результати декількох команд. Приклад: cat &lt;(command1) &lt;(command2) &lt;(command3) Я хотів би мати можливість робити обидві речі одночасно, так що …
18 pipe  cat  tee  concurrency 

1
Як припинити TCP-з'єднання, встановлене самим bash?
Я використовував exec 3&lt;&gt;/dev/tcp/192.168.0.101/6435для встановлення TCP-з'єднання з 192.168.0.101:6435. І я отримав так само, як надіслав кілька повідомлень із pipeкомандою. Тепер я хочу припинити TCP-з'єднання. Але, ss -anpetя можу бачити, що баш сам тримає цей зв'язок, не змушуючи дочірнього процесу. Я намагався надіслати сигнали 9 і 15 до процесу баш, але, …

4
Проміжки поруч з трубами
Я бачив history | grep blahі history |grep blah; а history|grep blahтакож працює, хоча, здається, ніхто ніколи не використовує його. Чи є якесь значення в просторах (наприклад, для передачі в / з різних команд потрібне різне використання пробілів), або це завжди довільно?
17 bash  shell  pipe 

1
Переконайтеся, що програма читається спочатку з труби, потім з клавіатури
Розгляньте інтерактивну програму interactive. Мені доводиться запускати цю програму досить часто, і кожен раз, коли я запускаю її, перші кілька команд однакові. Очевидно, що набирати ці команди знову і знову - це біль. Я зібрав цю команду (розділену новими рядками) у файл cmd. Тепер я можу cat cmd | interactiveзапустити …
17 command-line  pipe  cat  stdin 

3
Перенаправити stdout на ssh
Я хотів би бігти something &gt; file на віддаленій системі через ssh, але якщо я запускаю ssh host something &gt; file перенаправлення виконується локально як ssh etc &gt; file Я намагався зробити це з 'або ''або ddабо з трубкою |замість цього, але я не можу отримати його на роботу. Як …

1
Як скопіювати з / у tmux 'буфер обміну' з оболонками?
Під час роботи в середовищі оболонки я досить часто стикаюся з необхідністю копіювати «проміжний вихідний патрубок» навколо (наприклад, з / до вже запущених редакторів, на інші оболонки, інші машини тощо). Перебуваючи у віконному середовищі, простий (і загальний) спосіб вирішити це часто відбувається через буфер обміну системи, наприклад: X11: ... | …

2
Розуміння трубних команд в Unix / Linux
У мене є дві прості програми: Aі B. Aзапускається спочатку, потім Bотримує "stdout" Aі використовує його як "stdin". Припустимо, я використовую операційну систему GNU / Linux, і найпростіший можливий спосіб це зробити: ./A | ./B Якби мені довелося описати цю команду, я б сказав, що це команда, яка приймає дані …
16 pipe  terminology 

1
Як отримати середню швидкість потоку труби
Якщо myfileз часом зростає, я можу отримати кількість рядків за секунду, використовуючи tail -f | pv -lr &gt; /dev/null Це дає миттєву швидкість, а не середню. Як я можу отримати середню швидкість (тобто інтеграл функції швидкості v(t)за час моніторингу).
16 pipe  monitoring  tail  fifo  pv 

2
Чому використання "так" на башевих конвеєрах * не * викликає нескінченні петлі?
Відповідно до його документації, bash чекає, поки всі команди в трубопроводі закінчаться, перш ніж продовжувати Оболонка чекає, коли всі команди в трубопроводі завершаться перед поверненням значення. То чому команда yes | trueзакінчується негайно? Чи не повинен yesцикл назавжди і змусити трубопровід ніколи не повернутися? І під питання: відповідно до специфікації …
16 bash  shell  pipe 

5
Це помилка в баші? `return` не припиняє функцію, якщо викликається з труби
Останнім часом у мене виникають дивні проблеми з басом. Намагаючись спростити свій сценарій, я придумав цей невеликий фрагмент коду: $ o(){ echo | while read -r; do return 0; done; echo $?;}; o 0 $ o(){ echo | while read -r; do return 1; done; echo $?;}; o 1 returnмав …

2
Використання ресурсів за допомогою string and here string
Ми можемо отримати той же результат, скориставшись наступними двома в bash, echo 'foo' | cat і cat &lt;&lt;&lt; 'foo' Моє запитання - в чому різниця між цими двома, що стосується використаних ресурсів, а який - кращий? Моя думка полягає в тому, що при використанні труби ми використовуємо додатковий процес echoі …
16 bash  pipe  resources 

4
Як виміряти розмір трубних даних?
Я хотів би зробити щось подібне: &gt; grep pattern file.txt | size -h 16.4 MB або щось еквівалентне: &gt; grep pattern file.txt &gt; grepped.txt &gt; ls -h grepped.txt 16.4 MB &gt; rm grepped.txt (це було б трохи незручно) Це можливо?
16 pipe 

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.