Есть ли способ передать stdin / out вместо файла программе в unix?

У меня есть служебная программа командной строки от стороннего производителя (она большая и написана на Java), которую я использовал для обработки некоторых данных. Эта утилита ожидает информацию в файле с разделителями строк, а затем выводит обработанные данные в STDOUT.

На моих этапах тестирования Я был готов написать немного Perl для создания файла, полного информации для обработки, а затем отправить этот файл в эту стороннюю утилиту, но поскольку я приближаюсь к запуску этого кода в производство, я бы предпочел просто передать данные по конвейеру. эта утилита напрямую, вместо того, чтобы сначала записывать эти данные в файл, поскольку это избавит меня от накладных расходов, связанных с записью ненужной информации на диск. Есть ли способ сделать это в unix?

В настоящее время я вызываю эту утилиту следующим образом:

bin / someapp do-action --option1 some_value --input some_file

Я бы хотел сделать что-то вроде:

bin / someapp do-action --option1 some_value --input $ piped_in_data

Возможно ли что-нибудь подобное без внесения мной изменений в стороннее приложение?

6
задан Eli 3 November 2010 в 22:32
поделиться