如何使用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