سؤال

أحاول مقارنة أحجام مساحات الجدول بين قاعدتي بيانات.لقد قمت بالفعل باستخراج الحقل المطلوب للمقارنة على النحو الوارد أعلاه:

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
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top