这两个字符串有何不同?

时间:2013-01-08 22:30:43

标签: linux string hash diff

有人请阻止我疯了。

我有两个看起来完全相同的字符串,但被Linux“diff”标记为不同。它们也有不同的md5和sha1哈希。

有没有办法可以找出他们与众不同的方式?我尝试过转换为ASCII,Unicode等,但两个字符串的结果相同。我唯一能想到的是字符串末尾的内容,如换行符,但我无法弄明白。无论有什么不同,它似乎与复制和粘贴保持一致。

以下是两个字符串:

per banore impostami un promemoria per andare in banca

per banore impostami un promemoria per andare in banca

1 个答案:

答案 0 :(得分:2)

有几种方式:

如果内容位于文件“file”中:

cat -v file
cat file | od

如果内容在,例如$ string variable:

echo "$string" | cat -v
echo "$string" | od

即使你可以添加额外的“边界”来查看尾随空格等:

cat -v file | sed -e 's/^/___START___/' -e 's/$/___END___/'
  • od接受许多optinos将内容显示为十六进制,八进制等:有时你会看到更多关于这个或那个选项的信息。
  • cat -v将显示特殊字符为“^ x”,^ @ = \ 000 ^ A = \ 001 ^ B = \ 002等等有助于查看例如尾随“^ M”。
  • extranal sed有助于显示类似文本之前/之后的标签或空格。