为什么抱怨有一个额外的操作数?

时间:2013-10-23 02:22:25

标签: c compare

我正在尝试将输出与教师的输出进行比较,他给了我们这组命令,但对于倒数第二个命令,它抱怨在'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 个答案:

答案 0 :(得分:3)

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

diff my.out alex.out > output.diff

而不是上述内容,您可以将其传输到more

diff my.out alex.out | more

答案 1 :(得分:2)

您忘记重定向diff输出:

diff my.out alex.out > output.diff

答案 2 :(得分:0)

因为“Diff”逐行比较两个文件。您提供三个文件来比较错误。

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

我认为正确的命令语法是

$ diff my.out alex.out >  output.diff

答案 3 :(得分: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