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

shell – diff来自一个来源的两个管道

发布时间:2020-12-16 01:58:09 所属栏目:安全 来源:网络整理
导读:我找到了如何在SO上区分两个管道的答案,语法如下所示. diff (./a.out) (./a.out | sort -n) 但是,它会创建两个a.out进程,由ps验证.是否可以只有一个a.out,将输出广播到两个流,并在这两个流上进行差异? ./a.out | tee (cat) (sort -n) 我可以使用tee进行广播
我找到了如何在SO上区分两个管道的答案,语法如下所示.

diff <(./a.out) <(./a.out | sort -n)

但是,它会创建两个a.out进程,由ps验证.是否可以只有一个a.out,将输出广播到两个流,并在这两个流上进行差异?

./a.out | tee >(cat) >(sort -n)

我可以使用tee进行广播,但不知道如何使用diff.

有什么建议吗?

编辑:为什么我不想创建两个进程?原因是这是一个并发程序,因此输出是非确定性的.因此,我必须从一个进程使用相同的输出.

解决方法

不确定你有两个进程的反对意见,但也许你可以像这样使用fifo:

mkfifo fifo
diff <(./a.out | tee fifo) <(sort < fifo)

(编辑:李大同)

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

    推荐文章
      热点阅读