Vergleichen Sie 2 Spalten in 2 Dateien und drucken Sie das Sustraktionsergebnis aus
-
21-12-2019 - |
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
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