如何使用diff命令忽略最后一次输入?

时间:2012-04-15 11:28:19

标签: unix io comparison diff

我想使用diff Unix命令来比较输出文件。

但是,有时在输出的末尾有一个冗余的“\ n”,但我仍然希望将文件视为相同。

说我有这个输出:

XXXXX
XXXXX

XXXXX
XXXXX\n

(不能让它显示一个空行,所以我写了\ n)

我希望能够使用unix diff命令stil将这两个输出视为相等。

为了使自己清楚,我只想忽略最后输入(“\ n”)。其余的不应该被忽视。

例如,这两个输出不应该被视为相等:

XXXXX

XXXXX

XXXXX
XXXXX

感谢

1 个答案:

答案 0 :(得分:4)

您是否尝试过-b选项:

-b, --ignore-space-change
          ignore changes in the amount of white space

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

如果你只想排除最后一个可能的新行,请尝试在将结果传递给diff之前用sed删除它:

sed '${/^$/d}' file1 | diff - file2