可能是重复问题:
osx/linux: pipes into two processes?
是否有一种方法将一个命令的输出导入到另外两个命令的输入中,同时运行它们?
像这样:
$ echo 'test' |(cat) |(cat)
test
test
我之所以想要这样做是因为我有一个程序可以从USB SDR设备接收FM电台信号,并将音频输出为原始PCM数据(类似于.wav文件但没有头部)。由于信号不是音乐而是POCSAG寻呼机数据,我需要将其导入解码器程序以恢复寻呼文本。但是,我也想听这个信号,以便知道是否有任何数据进来或者没有数据被广播。(否则我就无法判断解码器是否损坏或只是没有数据正在广播)。因此,除了将数据导入到寻呼解码器中,我还需要将相同的数据导入到play
命令。
目前我只知道如何处理其中之一——将其导入解码器并静默读取数据,或将其导入play
并听到声音,但看不到任何解码文本。
我该如何将相同的数据导入两个命令,以便我既能读取文本又能听到音频?
我不能使用tee
,因为它只会将重复的数据写入文件,而我需要实时处理数据。
x=myoutput && command one $x && command two $x
。 - tumelostdin
上的命令。 - Malvineous