Linux Diff命令在逻辑上不工作

Linux Diff命令在逻辑上不工作,linux,diff,Linux,Diff,原始文件包含: B RBWBW RWRWWRBWWWBRBWRWWBWWB 我的文件包含: B RBWBW RWRWWRBWWWBRBWRWWBWWB 但是,当我使用命令diff original myfile时,它会显示以下内容: 1,3c1,3 < B < RBWBW < RWRWWRBWWWBRBWRWWBWWB --- > B > RBWBW > RWRWWRBWWWBRBWRWWBWWB 1,3c1,3 RWWrWrWwWbWrWbWwB 当

原始文件包含:

B
RBWBW
RWRWWRBWWWBRBWRWWBWWB
我的文件包含:

B
RBWBW
RWRWWRBWWWBRBWRWWBWWB
但是,当我使用命令diff original myfile时,它会显示以下内容:

1,3c1,3
< B
< RBWBW
< RWRWWRBWWWBRBWRWWBWWB
---
> B
> RBWBW
> RWRWWRBWWWBRBWRWWBWWB
1,3c1,3
B
>RBWBW
>RWWrWrWwWbWrWbWwB

当我放置-w标记(
diff-original-myfile-w
)时,它没有显示任何差异。。。但我绝对肯定这两个文件没有空格/结束行的差异。有什么问题吗?

以十六进制格式查看它们。通过这种方式,您可以真正看到它们是否相同。

以十六进制格式查看它们。通过这种方式,您可以真正看到它们是否相同。

如注释中所示,您必须有一些不同的行尾,这是由于来自DOS系统的原始文件造成的。这就是为什么使用
-w
删除行尾和匹配的文件

要修复文件,请执行以下操作:

dos2unix file

从注释中可以看出,您必须有一些不同的行尾,这是由于来自DOS系统的原始文件造成的。这就是为什么使用
-w
删除行尾和匹配的文件

要修复文件,请执行以下操作:

dos2unix file
这些文本是平等的

也许你有额外的空白

试一试

-忽略所有空白

-B忽略所有行均为空的更改。

这些文本是相等的

也许你有额外的空白

试一试

-忽略所有空白


-B忽略所有行均为空的更改。

可能是DOS文本?尝试执行
dos2unix文件1
dos2unix文件2
删除可能的错误字符。是的,就是这种情况。谢谢。您也可以尝试
文件原件
文件我的文件
,看看它们是否“同类”。如果它们有不同的行尾,它将显示它们有不同的描述。也许是DOS文本?尝试执行
dos2unix文件1
dos2unix文件2
删除可能的错误字符。是的,就是这种情况。谢谢。您也可以尝试
文件原件
文件我的文件
,看看它们是否“同类”。如果它们有不同的行尾,它将显示它们有不同的描述。