如何输出不同文件中的值的比较

如何输出不同文件中的值的比较

以下两个文件包含可用的构建名称和版本号:

服务器.txt

Build2 200
Build3 100
Build1 400
Build7 200

本地.txt

Build1 300
Build2 200
Build3 100

在我的情况下,两个列表不一定按顺序排列或具有相同数量的值。

如果本地值与服务器值相同,则构建为“已更新”。如何创建一个输出来显示输出是“已更新”还是“已过期”,如下例所示:

Build2 Updated
Build3 Updated
Build1 Out-of-date
Build7 Out-of-date

答案1

典型的解决方案awk

awk '
  NR==FNR { k[$1] = $2; next }
  { print $1, (k[$1] == $2) ? "Updated" : "Out-of-date" }
' local.txt server.txt

相关内容