다음 두 파일에는 사용 가능한 빌드 이름과 버전 번호가 포함되어 있습니다.
서버.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