如何将第三个参数传递给 diff,它是对另一个具有多个参数的程序的调用?

如何将第三个参数传递给 diff,它是对另一个具有多个参数的程序的调用?

我想用来diff将文本文件与程序的输出进行比较。

我意识到我可以将程序的输出重定向到一个文件,然后比较两个文件,但想知道是否可以这样做:

diff file1.txt ./myprog 1 2 3

答案1

bash(以及支持它的类似 shell)中,你可以使用流程替代

例如给定

$ cat file
foo
bar
baz

然后

$ diff file <(sed 2d file)
2d1
< bar

在这种情况下,程序是sed,参数是2dfile


在不支持进程替换的 shell 中,由于diff接受标准输入,你可以这样做./myprog 1 2 3 | diff file1.txt -

相关内容