最佳答案
如果不使用 Bash 中的临时文件,如何使用 差异两个管道? 假设您有两个命令管道:
foo | bar
baz | quux
你想在他们的输出中找到 diff
,一个解决方案显然是:
foo | bar > /tmp/a
baz | quux > /tmp/b
diff /tmp/a /tmp/b
有没有可能在不使用 Bash 中的临时文件的情况下这样做?您可以通过管道连接到其中一个管道来删除一个临时文件:
foo | bar > /tmp/a
baz | quux | diff /tmp/a -
但是您不能同时将两个管道导入 diff (至少不能以任何明显的方式)。在不使用临时文件的情况下,是否存在一些涉及 /dev/fd
的巧妙技巧?