bash – 有没有办法将stdin/out而不是文件提供给unix中的程序?
发布时间:2020-12-16 01:26:32 所属栏目:安全 来源:网络整理
导读:我有一个来自第三方的命令行实用程序(它很大,用 Java编写),我一直用它来帮助我处理一些数据.此实用程序需要行分隔文件中的信息,然后将处理后的数据输出到STDOUT. 在我的测试阶段,我写了一些Perl来创建一个充满要处理的信息的文件,然后将该文件发送到第三方实
我有一个来自第三方的命令行实用程序(它很大,用
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或类似的东西.) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |