قارن عمودين في ملفين واطبع نتيجة الاستخراج
-
21-12-2019 - |
سؤال
أحاول مقارنة أحجام مساحات الجدول بين قاعدتي بيانات.لقد قمت بالفعل باستخراج الحقل المطلوب للمقارنة على النحو الوارد أعلاه:
STAT-TBS-DB-SOURCE.lst:(العمود 1 :اسم TBS، العمود 2:حجم حقيقي)
TBS001 12
TBS002 50
TBS003 20
TBS004 45
STAT-TBS-DBTARGET.lst (العمود 1: اسم TBS، العمود 2: الحجم الأقصى)
TBS001 10
TBS002 50
TBS003 20
TBS004 40
أحتاج إلى مقارنة الأعمدة الثانية (c1,c2) من الملفين (f1,f2)، إذا f2.c2<f1.c2
ثم اطبع increase Tablespace f1.c1 by ( f1.c2 - f2.c2) MB
.
ما الحل لديك بالنسبة لي؟
لقد حاولت باستخدام awk لكن لم أتمكن من الحصول على قيمة f1.c2.
شكرًا
المحلول
kent$ awk 'NR==FNR{a[$1]=$2;next}$1 in a && $2<a[$1]{
printf "increase Tablespace %s by %d MB\n",$1,(a[$1]-$2)}' f f2
increase Tablespace TBS001 by 2 MB
increase Tablespace TBS004 by 5 MB
لا تنتمي إلى StackOverflow