bash – 有没有办法将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

没有我修改第三方应用程序,这样的事情是否可能?

你应该能够使用/ dev / stdin:
bin/someapp do-action --option1 some_value --input /dev/stdin

(注意,在某些系统上,/ dev / stdin是一个符号链接;如果你的Java程序没有处理它,你可能不得不使用/ dev / fd / 0或类似的东西.)

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...