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

bash – 管道输出到两个不同的命令

Possible Duplicate:
07000

有没有办法将输出一个命令管道输入到另外两个命令的输入,同时运行它们?

这样的事情

$ echo 'test' |(cat) |(cat)
test
test

我想这样做的原因是我有一个程序从USB SDR设备接收FM收音信号,并将音频作为原始PCM数据输出(如.wav文件,但没有标题)。由于信号不是音乐,但POCSAG寻呼机数据,我需要管道解码程序来恢复寻呼机文本。不过我也想听听信号,所以我知道是否有任何数据进来。 (否则,我无法判断解码器是否损坏或者没有数据正在广播)。因此,为了将数据传输到寻呼机解码器,我还需要将相同的数据传送到播放命令。

目前,我只知道如何做到这一点 – 要么把它传输到解码器,要么无声地读取数据,要么管它播放并且听不到任何解码的文本。

如何将相同的数据管道传递给这两个命令,以便我可以阅读文本并听到音频?

我不能使用三通,因为它只将重复的数据写入文件,但我需要实时处理数据。

如果你使用三通和mkfifo,它应该是好的。
mkfifo pipe
cat pipe | (command 1) &
echo 'test' | tee pipe | (command 2)

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

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

相关推荐