我如何将 diff 用于变量而不是文件。
所有教程都有文件示例,但没有变量示例。
我希望它只打印差异。
例如:
TEXTA=abcdefghijklmnopqrstuvxyz; TEXTB=abcdefghijklmnopqrstuvxyr
diff
是一个比较两个文件的实用程序。如果你真的想比较两个变量,并且你正在使用bash
你的 shell,你可以这样“伪造”它:
diff <(echo ${TEXTA}) <(echo ${TEXTB})
否则,您可以将变量写入两个临时文件并进行比较。
但是,请注意,在您的示例中,由于每个变量都是一行,它只会告诉您它们是不同的,除非您使用的版本diff
会向您显示它们不同的行中的特定位置。
我会用sdiff
.
sdiff <(echo $TEXTA) <(echo $TEXTB)
sdiff
仅指出两个字符串之间的差异,并将它们并排显示,以 . 分隔|
。
abcdefghijklmnopqrstuvxyz | abcdefghijklmnopqrstuvxyr
当您的字符串太长时,这可能很有用。sdiff
只会突出显示字符串中不同的部分。