没有临时文件的两个程序的diff输出

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (18)

说我也有程序ab我可以和你一起跑./a./b

是否可以在不首先写入临时文件的情况下改变它们的输出?

提问于
用户回答回答于

使用<(command)将一个命令的输出传递给另一个程序,就像它是一个文件名一样。Bash将程序的输出输送到管道,并传递一个文件名,如下所示/dev/fd/63到外边指挥。

diff <(./a) <(./b)

类似地,您可以使用>(command)如果你想吹点东西命令。

这在Bash的手册页面中被称为“进程替换”。

用户回答回答于

添加到这两个答案中,如果希望看到并排比较,请使用vimdiff:

vimdiff <(./a) <(./b)

就像这样:

扫码关注云+社区