我想用来diff
将文本文件与程序的输出进行比较。
我意识到我可以将程序的输出重定向到一个文件,然后比较两个文件,但想知道是否可以这样做:
diff file1.txt ./myprog 1 2 3
答案1
在bash
(以及支持它的类似 shell)中,你可以使用流程替代
例如给定
$ cat file
foo
bar
baz
然后
$ diff file <(sed 2d file)
2d1
< bar
在这种情况下,程序是sed
,参数是2d
和file
在不支持进程替换的 shell 中,由于diff
接受标准输入,你可以这样做./myprog 1 2 3 | diff file1.txt -