比较2个文件中的2列并打印抽取结果

时间:2014-04-11 15:40:54

标签: database file awk compare tablespace

我正在尝试比较两个数据库之间的表空间大小。我已经提取了所需的字段以进行比较,如上所述:

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

我需要比较2个文件(f1,f2)的第二列(c1,c2),如果f2.c2<f1.c2则打印increase Tablespace f1.c1 by ( f1.c2 - f2.c2) MB

你有什么解决方案?

我尝试使用awk但是我无法获得f1.c2的值。

由于

1 个答案:

答案 0 :(得分:1)

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