awk-显示两个字段之间的差异

awk-显示两个字段之间的差异,awk,gawk,Awk,Gawk,我有这个: bar foobar 111 random111 我想定义$2,这样与$1相比,它应该只包含差异(不匹配的字符): 要打印jaypal指出的差异: awk '{gsub($1,"",$2)}1' file bar foo 111 random 您的第二列不应该包含foo和random?您的输出如何显示差异?如果$1包含RE元字符(,+,?,*,等等),该怎么办?您希望它被视为文字字符还是执行它的RE函数?如果$1包含o和$2foo,该怎么办?输出应该是fo还是f?

我有这个:

bar foobar        
111 random111
我想定义$2,这样与$1相比,它应该只包含差异(不匹配的字符):


要打印jaypal指出的差异:

awk '{gsub($1,"",$2)}1' file
bar foo
111 random

您的第二列不应该包含
foo
random
?您的输出如何显示差异?如果$1包含RE元字符(
+
*
,等等),该怎么办?您希望它被视为文字字符还是执行它的RE函数?如果
$1
包含
o
和$2
foo
,该怎么办?输出应该是
fo
还是
f
?有时最简单的事情我无法理解。谢谢
awk '{gsub($1,"",$2)}1' file
bar foo
111 random