2

我正在尝试将我的输出与我的讲师的输出进行比较,他给了我们一组要遵循的命令,但是对于倒数第二个命令,它抱怨在“output.diff”中有一个额外的操作数。

$ gcc -ansi -Wall -Werror -lm -o myprint-badges print-badges32.o grove.c badges.c

$./myprint-badges > my.out
$./print-badges32 > alex.out
$ diff my.out alex.out output.diff
$ more output.diff

为什么倒数第二个命令不起作用?

4

4 回答 4

4

您需要重定向输出(您错过了>):

diff my.out alex.out > output.diff

而不是上面的,你可以把它输入more

diff my.out alex.out | more
于 2013-10-23T02:23:50.940 回答
2

您忘记重定向diff输出:

diff my.out alex.out > output.diff
于 2013-10-23T02:23:56.693 回答
0

因为“Diff”逐行比较两个文件。您要提供三个文件进行比较,因此会出现错误。

http://unixhelp.ed.ac.uk/CGI/man-cgi?diff

我认为正确的命令语法是

$ diff my.out alex.out >  output.diff
于 2013-10-23T02:26:35.580 回答
0

当我在 GIT bash 上运行以下命令时,我在 Windows 上遇到了类似的错误。

   diff -qrbB C:/Users/testuser/Desktop/Data bkp/files  C:/xampp/htdocs/Data/files 

因为 Data 和 bkp 之间有一个空格Data bkp

删除此空间后,它工作正常。

另一种方法是使用反斜杠

diff -qrbB C:/Users/testuser/Desktop/Data\ bkp/files  C:/xampp/htdocs/Data/files 
于 2015-05-22T11:16:41.327 回答