Frage

Ich versuche, die Tablespace-Größen zwischen zwei Datenbanken zu vergleichen.Ich habe das zum Vergleich benötigte Feld bereits wie oben extrahiert:

STAT-TBS-DB-SOURCE.lst:(Spalte 1:TBS-Name, Spalte 2:echte Größe)

TBS001 12
TBS002 50
TBS003 20
TBS004 45

STAT-TBS-DBTARGET.lst (Spalte 1:TBS-Name, Spalte 2:maximale Größe)

TBS001 10
TBS002 50
TBS003 20
TBS004 40

Ich muss die zweiten Spalten (c1,c2) ​​der beiden Dateien (f1,f2) vergleichen, wenn f2.c2<f1.c2 dann drucken increase Tablespace f1.c1 by ( f1.c2 - f2.c2) MB.

Welche Lösung haben Sie für mich?

Ich habe es mit awk versucht, aber ich kann den Wert von f1.c2 nicht ermitteln.

Danke

War es hilfreich?

Lösung

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
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top