我在 Linux 中有 2 个配置文件。一个文件大小为 177 字节,另一个文件大小为 183 字节。使用以下命令检查大小:
wc -c Config
两个文件包含 100% 相同的文本、相同的名称(不同的文件夹)。我逐字匹配,因为只有 6 行。还使用 Windows 中的 CompareIT 进行了比较。现在的问题是,当我使用 177 字节的配置文件运行程序时,它可以工作。而当我使用大小为 183 的配置文件运行程序时,它却不工作。现在我无法理解如何区分这两个文件?是什么差异造成了问题,因为每次使用 177 字节的文件时我都必须不断检查。该配置文件包含:
Company="ABC"
FromEmail="Email"
UserName="user"
Password="Pass"
ToEmail="Email"
SMTP=smtp.gmail.com:587
请帮助我辨别差异。提前谢谢。
答案1
差异可能只是空格。在十六进制编辑器中打开每个文件进行验证。
答案2
我们有技术可以显示两个文件之间的差异自动地. diff
是规范选项,它将向您展示哪个线是不同的(因此您可以缩小搜索范围)。 cmp
相反,不会给您如此友好的输出,但它确实会告诉您文件中哪个字节不同。
不过,我想说的是,任何仅仅因为配置文件中的空格发生变化而导致程序崩溃的程序可能都是您想要快速逃离的程序(最好是在让这个噩梦的作者摆脱痛苦之后——为了任何可能在未来遇到它们的人,至少是为了其他)。
答案3
区别在于空格或换行符。
在 Windows 上,换行符(让您进入新行的字符)。在 Unix 系统上,它只是 \n。在 Windows 系统上,它是 \r\n(回车符,换行符(换行符))。
用十六进制编辑器检查一下,或者找到“dos2unix”工具进行转换然后与“diff”进行比较。
如果其中一个文件是在 Windows 上创建的,而另一个文件是在 Unix 系统上创建的,那么可能就会有区别。