他のファイルの値比較を出力する方法

他のファイルの値比較を出力する方法

次の2つのファイルには、使用可能なビルド名とバージョン番号が含まれています。

サーバー.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

おすすめ記事