Вопросы с тегом «pipe»

Канал Unix соединяет файловые дескрипторы двух процессов. Канал создается с помощью функции POSIX pipe (), объявленной в <unistd.h>. Оболочки обеспечивают создание канала между процессами, используя «|».

2
что подразумевается под подключением STDOUT и STDIN?
Я читаю книгу, в которой говорится: У каждого процесса есть как минимум три канала связи: «стандартный ввод» (STDIN), «стандартный вывод» (STDOUT) и «стандартная ошибка» (STDERR). Большинство команд принимают свои входные данные из STDIN и записывают свои выходные данные в STDOUT. Они пишут сообщения об ошибках в STDERR. Это соглашение позволяет …

2
Функция Bash, которая принимает входные данные от параметра или канала
Я хочу написать следующую функцию bash таким образом, чтобы она могла принимать входные данные из аргумента или канала: b64decode() { echo "$1" | base64 --decode; echo } Желаемое использование: $ b64decode "QWxhZGRpbjpvcGVuIHNlc2FtZQ=" $ b64decode &lt; file.txt $ b64decode &lt;&lt;&lt; "QWxhZGRpbjpvcGVuIHNlc2FtZQ=" $ echo "QWxhZGRpbjpvcGVuIHNlc2FtZQ=" | b64decode
10 bash  pipe  function  stdin 

1
`Докер логи Foo | less` не доступен для поиска или прокрутки, но `docker logs foo 2> & 1 | меньше
Использование любого из них дает читабельный текст. Но только с помощью перенаправления stderr можно прокрутить или набрать / somepattern и получить совпадения. Без этого поиск дает «Ничего не искать (нажмите RETURN)» и столбец ~. Учитывая, что stderr и stdout не одно и то же, но почему меньше показывает их одинаково, …
10 pipe  less  stdout  stderr 

2
Как прочитать пользовательский ввод при использовании скрипта в трубе
Общая проблема Я хочу написать сценарий, который взаимодействует с пользователем, даже если он находится в середине цепочки каналов. Конкретный пример Конкретно, требуется fileили stdin, отображает строки (с номерами строк), просит пользователя ввести выбор или номера строк, а затем печатает соответствующие строки stdout. Давайте назовем этот скрипт selector. Тогда в принципе, …

3
Как изменить вывод в командном конвейере bash
Например, я получил из какой-то команды несколько строк $ some-command John Bob Lucy Теперь я хотел бы добавить команду цепочки, которая изменяет вывод. $ some-command | other-command Hi John Bye Hi Bob Bye Hi Lucy Bye Как писать other-command? (Я новичок в Bash)
10 bash  pipe 

4
Создание одного выходного потока из трех других потоков, создаваемых параллельно
У меня есть три вида данных в разных форматах; для каждого типа данных существует скрипт Python, который преобразует его в единый унифицированный формат. Этот сценарий Python является медленным и привязанным к процессору (к одному ядру на многоядерном компьютере), поэтому я хочу запустить три его экземпляра - по одному для каждого …

2
Можно ли выполнить команду (запустить повторно)? как следовать за файлом, используя tail -f?
У меня есть скрипт, который производит файл «Detail.out». Я знаю, что скрипт завершается всякий раз, когда файл содержит определенное количество строк (примерно 21025). Поэтому я сижу в командной строке: [me@somewhere myDir]$ wc -l */Detail.out 21025 A/Detail.out 21025 B/Detail.out 21025 C/Detail.out 12995 D/Detail.out 10652 E/Detail.out 3481 F/Detail.out 21027 G/Detail.out 21025 H/Detail.out …
10 monitoring  pipe  tail 

1
Какое распределение вероятностей моделирует это состояние гонки?
Рассмотрим следующую команду: bash -c "echo x; cat 1" | tee 1. Насколько я понимаю, он будет переходить в новую оболочку, писать xв stdout, писать file 1 not foundв stderr, выходить и возвращать управление родительскому процессу, а также писать xв stdout и to 1. Следовательно, я ожидаю, что конечный результат …
10 shell  files  pipe 

4
Состояние выхода Bash используется с PIPE
Я пытаюсь понять, как состояние выхода передается при использовании канала. Предположим, я использую, whichчтобы найти несуществующую программу: which lss echo $? 1 Поскольку whichне удалось найти, lssя получил статус выхода 1. Это нормально. Однако, когда я пытаюсь следующее: which lss | echo $? 0 Это указывает на то, что последняя …
10 bash  shell-script  pipe  exit 

2
Тройник тормозит трубопроводы?
Мне интересно, замедляет ли тройник трубопроводы. В конце концов, запись данных на диск происходит медленнее, чем их передача. Дождется ли передача данных в следующий канал, пока они не будут записаны на диск? (Если нет, то, наверное, нужно поставить в очередь данные, которые были отправлены вместе, но не записаны на диск, …
10 pipe  tee 

4
Полностью буферизировать вывод команды перед передачей в другую команду?
Есть ли способ выполнить команду только после выполнения другой без временного файла? У меня есть одна более длинная команда и другая команда, которая форматирует вывод и отправляет его на HTTP-сервер с помощью curl. Если я просто выполню commandA | commandB, commandBзапустится curl, подключусь к серверу и начну отправку данных. Потому …
10 shell  pipe  buffer 

2
Как заставить чтение и запись одного и того же файла в одном и том же конвейере всегда «терпеть неудачу»?
Скажем, у меня есть следующий скрипт: #!/bin/bash for i in $(seq 1000) do cp /etc/passwd tmp cat tmp | head -1 | head -1 | head -1 &gt; tmp #this is the key line cat tmp done В ключевой строке я читаю и пишу один и тот же файл, tmpкоторый …

1
Передача выходных данных скрипта bash после перенаправления stderr [закрыто]
Закрыто . Этот вопрос нуждается в деталях или ясности . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Добавьте детали и проясните проблему, отредактировав этот пост . Закрыто 2 года назад . из-за того, как мой хостер делает вещи, я должен использовать систему для услуг. У этой …

4
Как прочитать пользовательский ввод из канала?
Предположим, у меня есть файл confirmation.shсо следующим содержимым: #!/bin/bash echo -n "Are you sure [Y/n]? " read line case "$line" in n|N) echo "smth" ;; y|Y) echo "smth" ;; esac и я хочу запустить этот скрипт следующим образом: cat confirmation.sh | sh Я вижу, Are you sure [Y/n]?и сценарий прерывается. …

3
Как дать список через запятую в качестве аргументов для следующей команды
У меня есть скрипт, s1который выводит список чисел, разделенных ',' например 1,2,3,4. Теперь я хочу дать эти числа сценарию в s2качестве аргументов, чтобы s2 запускался на каждом из них и выводил свой результат в отдельной строке. Например, если s2 умножает числа на два, это будет результат, который я ищу: 2 …
9 pipe  xargs  arguments 

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.