使用 diff 比较两个命令的输出

使用 diff 比较两个命令的输出

如何使用diff比较两个命令的输出?

我知道如何使用它来比较文件的内容filename1与命令的输出cmd2

cmd | diff filename -

我该如何做到这一点,以便我可以有另一个命令,例如cmd1代替filename

我使用的是 dash,它不支持进程替换。

答案1

基于如何在 Dash 中模拟流程替换?(谢谢αГsнιm!),调整为dash

( cmd1 | ( cmd2 | ( diff /dev/fd/3 /dev/fd/4 ) 4<&0 ) 3<&0 )

答案2

简单的 :-)

$ cat file1 | diff /dev/stdin /dev/stderr 2<< EOT
> `cat file2`
> EOT
2c2
< 2
---
> 4

相关内容