我不想创建新文件。我想完成类似的事情:
cmd1 > a
cmd2 > b
cat a b b | sort | uniq -u
但不使用文件 a 和 b。
最佳答案
Unix 实用程序通常是面向文件的,因此没有什么能完全满足您的需求。
但是,zsh 可以使用以下语法自动创建临时文件:diff =(cmd1) =(cmd2)
它还可以创建临时命名管道(或使用特殊文件 /dev/fdn
来引用匿名管道)diff <(cmd1) <(cmd2)
然而,许多diff
电话lseek()
在他们的输入上,因此不适用于命名管道。
( diff
通常是一个更有用的命令,用于比较与上面的管道非常相似的输出。)
有关更多详细信息,请参阅“zshexpn”手册页的“进程替换”部分。
关于unix - 如何比较两个 unix 命令的输出以找出差异?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4115545/