【发布时间】:2015-02-03 01:34:26
【问题描述】:
我有一个来自第三方的命令行实用程序(它很大并且用 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
如果我不修改第三方应用程序,这样的事情可能吗?
【问题讨论】:
-
StackExchange 上有更全面的答案,请参阅 unix.stackexchange.com/questions/16990/…>。