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

标签 unix

我不想创建新文件。我想完成类似的事情:

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/

相关文章:

linux - egrep AND 多个模式的条件不起作用

linux - 在Oracle EBS中使用更高版本的Unzip

linux - 创建.so文件

ruby - osx bash 上的树命令

shell - 创建一个与现有文件具有相同权限和所有者的新文件

linux - shell 脚本 telnet 在第一点跳过 while 循环

regex - 使用正则表达式和反向匹配,并将其通过管道传递给另一个命令

linux - 如何从文件[shell]中某些特定行的末尾删除\n?

java - 如何通过 SSH 客户端查看可运行 .jar 的输出

linux - 如何在 bash cli 中将多个命令组合成单个命令?