加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

在Unix中没有临时文件的粘贴

发布时间:2020-12-15 19:58:17 所属栏目:安全 来源:网络整理
导读:我试图使用Unix命令粘贴,这就像一个列的附加形式的猫,并遇到一个我从来没有知道如何在Unix中解决的难题。 如何使用两个不同程序的输出作为另一个程序的输入(不使用临时文件)? 理想情况下,我会这样做(不使用临时文件): ./progA tmpA; ./progB tmpB;粘贴t
我试图使用Unix命令粘贴,这就像一个列的附加形式的猫,并遇到一个我从来没有知道如何在Unix中解决的难题。

如何使用两个不同程序的输出作为另一个程序的输入(不使用临时文件)?

理想情况下,我会这样做(不使用临时文件):

./progA> tmpA;
./progB> tmpB;粘贴tmpA tmpB

这似乎对我来说比较频繁,但是我不知道如何使用两个不同程序(progA和progB)的输出作为另一个输入,而不使用临时文件(tmpA和tmpB)。

对于像粘贴这样的命令,只需使用粘贴$(./programA)$(./programB)(以bash表示法)就不会这样做,因为它可以从文件或stdin中读取。

我担心临时文件的原因是我不想让作业并行运行,通过使用相同的文件导致问题;确保一个唯一的文件名有时是困难的。

我正在使用bash,但是好奇地看到任何Unix shell的解决方案。

最重要的是,我甚至以正确的方式来处理这个问题吗?

干杯!

您不需要在bash下的临时文件,请尝试:
paste <(./progA) <(./progB)

请参阅Bash手册中的“Process Substitution”。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读