Как добавить в трубы?

Итак, мой вопрос в том, могу ли я каким-то образом отправить данные в свою программу, а затем отправить те же данные и их результат в другую программу без необходимости создавать временный файл (в моем случае ouputdata.txt). Желательно использовать linux pipe / bash.

В настоящее время я делаю следующее:

кот inputdata.txt | ./MyProg> outputdata.txt

кот inputdata.txt outputdata.txt | ./MyProg2

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
8
0
6 862
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Вариант 1 - исправить MyProg, чтобы записать объединенный вывод из ввода и его собственный вывод. Тогда ты сможешь это сделать.

./MyProg <inputdata.txt | ./MyProg2

Вариант 2. Если вы не можете исправить MyProg для записи и ввода, и вывода, вам необходимо выполнить слияние.

./MyProg <inputdata.txt | cat inputdata.txt - | ./MyProg2

Извините, но это уродливое решение. Просто зафиксируйте MyProg и соедините их трубами.

Brian C. Lane 01.12.2008 19:22

а) это совсем не уродливо, б) первый вариант предполагает именно это.

user3850 01.12.2008 19:38

Вот еще один способ, который можно расширить, чтобы объединить вывод двух программ:

( Prog1; Prog2; Prog3; ...  ) | ProgN

По крайней мере, это работает в Bash.

давайте смешаем это вместе, чтобы получить прекрасное блюдо: (Prog1 & Prog2 & Prog3 & ...) | ПрогN: p

Johannes Schaub - litb 01.12.2008 20:40

LOL, да, это даст интересные результаты :-D

derobert 03.12.2008 17:09

Другие вопросы по теме