【发布时间】:2010-12-06 21:13:51
【问题描述】:
我正在尝试使用 Unix 命令粘贴,它类似于 cat 的列附加形式,但遇到了一个我从不知道如何在 Unix 中解决的难题。
如何使用两个不同程序的输出作为另一个程序的输入(不使用临时文件)?
理想情况下,我会这样做(不使用临时文件):
./progA > tmpA; ./progB > tmpB;粘贴 tmpA tmpB
这对我来说似乎比较频繁,但我不知道如何使用两个不同程序(progA 和 progB)的输出作为输入到另一个不使用临时文件(tmpA 和 tmpB)。
对于 paste 之类的命令,仅使用 paste $(./progA) $(./progB) (以 bash 表示法)不会成功,因为它可以从文件或标准输入中读取.
我对临时文件持谨慎态度的原因是我不想让作业并行运行而导致使用同一个文件出现问题;确保唯一的文件名有时很困难。
我目前正在使用 bash,但很想知道任何 Unix shell 的解决方案。
最重要的是,我是否以正确的方式解决问题?
干杯!
【问题讨论】: