微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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或类似的东西.)

原文地址:https://www.jb51.cc/bash/384123.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐