如何比较两个unix命令的输出以找出差异?

我不想创build新文件。 我想要完成类似于:

cmd1 > a cmd2 > b cat abb | sort | uniq -u 

但不使用文件a和b。

Unix实用程序通常是面向文件的,所以没有什么比你想要的要好。

但是,zsh可以使用以下语法自动创建临时文件:

diff =(cmd1) =(cmd2)

它也可以创建临时命名管道(或使用特殊文件/dev/fdn来引用匿名管道)

diff <(cmd1) <(cmd2)

但是,许多diff调用lseek()在他们的输入,所以不会使用命名管道。

diff通常是比上面的管道比较非常类似的输出更有用的命令。)

有关更多详细信息,请参见“zshexpn”手册页的“进程替换”部分。