毎週データベース表スペースレポートを受け取りますが、先週と今週を比較してレポートを生成する方法を知りたいです。
次のサンプルファイルを見つけます。
先週のレポート:
Tab Page Num Total Used Free Percent
Id TableSpace Name Type Size State Cont Pages Pages Pages Used
--- --------------- ---- ----- -------- ---- ------- --------- --------- -------
0 SYSCATSPACE SMS 4096 0x0000 1 96511 - - -
1 SYSTOOLSPACE SMS 4096 0x0000 1 257 - - -
2 USERSPACE1 SMS 4096 0x0000 8 36419005 - - -
3 TSD03 DMS 4096 0x0000 6 7614640 5632000 1980928 73.96
4 TSI03 DMS 4096 0x0000 5 5999664 5607680 389888 93.46
5 TSD02 DMS 4096 0x0000 3 2266080 2155264 109568 95.10
6 TSI02 DMS 4096 0x0000 3 2555904 2396928 158592 93.78
7 TS08 DMS 4096 0x0000 6 44703680 37979328 6724160 84.95
8 TS10 DMS 4096 0x0000 1 3248576 1375872 1872672 42.35
9 TSD04 DMS 4096 0x0000 4 163840 151738 12094 92.61
10 TSI04 DMS 4096 0x0000 2 67584 28960 38620 42.85
11 TSD05 DMS 4096 0x0000 3 1572864 1448960 123136 92.12
12 TSI05 DMS 4096 0x0000 3 1310720 963328 346624 73.49
今週のレポート:
Tab Page Num Total Used Free Percent
Id TableSpace Name Type Size State Cont Pages Pages Pages Used
--- --------------- ---- ----- -------- ---- ------- --------- --------- -------
0 SYSCATSPACE SMS 4096 0x0000 1 96511 - - -
1 SYSTOOLSPACE SMS 4096 0x0000 1 257 - - -
2 USERSPACE1 SMS 4096 0x0000 8 36342895 - - -
3 TSD03 DMS 4096 0x0000 6 7614640 5620224 1992704 73.80
4 TSI03 DMS 4096 0x0000 5 5999664 5592320 405248 93.21
5 TSD02 DMS 4096 0x0000 3 2266080 2150912 113920 94.91
6 TSI02 DMS 4096 0x0000 3 2555904 2393472 162048 93.64
7 TS08 DMS 4096 0x0000 6 44703680 37881632 6821856 84.73
8 TS10 DMS 4096 0x0000 1 3248576 1367008 1881536 42.08
9 TSD04 DMS 4096 0x0000 4 163840 151362 12470 92.38
10 TSI04 DMS 4096 0x0000 2 67584 28886 38694 42.74
11 TSD05 DMS 4096 0x0000 3 1572864 1448704 123392 92.10
12 TSI05 DMS 4096 0x0000 3 1310720 963072 346880 73.47
必須レポート(タイトルのみ):
Tab Page Num Total Used Free Last_weekPercent New_week Percent Difference (or) Growth
Id TableSpace Name Type Size State Cont Pages Pages Pages Used Used
答え1
クイックソリューション:
perl -lane '1..eof?$p[$F[0]]=$F[9]:print$_,sprintf("%8s%8.2f",$p[$F[0]],$F[9]-$p[$F[0]])' this_weeks_report last_weeks_report
出力:
Tab Page Num Total Used Free Percent - 0.00
Id TableSpace Name Type Size State Cont Pages Pages Pages Used - 0.00
--- --------------- ---- ----- -------- ---- ------- --------- --------- ------- - 0.00
0 SYSCATSPACE SMS 4096 0x0000 1 96511 - - - - 0.00
1 SYSTOOLSPACE SMS 4096 0x0000 1 257 - - - - 0.00
2 USERSPACE1 SMS 4096 0x0000 8 36342895 - - - - 0.00
3 TSD03 DMS 4096 0x0000 6 7614640 5620224 1992704 73.80 73.96 -0.16
4 TSI03 DMS 4096 0x0000 5 5999664 5592320 405248 93.21 93.46 -0.25
5 TSD02 DMS 4096 0x0000 3 2266080 2150912 113920 94.91 95.10 -0.19
6 TSI02 DMS 4096 0x0000 3 2555904 2393472 162048 93.64 93.78 -0.14
7 TS08 DMS 4096 0x0000 6 44703680 37881632 6821856 84.73 84.95 -0.22
8 TS10 DMS 4096 0x0000 1 3248576 1367008 1881536 42.08 42.35 -0.27
9 TSD04 DMS 4096 0x0000 4 163840 151362 12470 92.38 92.61 -0.23
10 TSI04 DMS 4096 0x0000 2 67584 28886 38694 42.74 42.85 -0.11
11 TSD05 DMS 4096 0x0000 3 1572864 1448704 123392 92.10 92.12 -0.02
12 TSI05 DMS 4096 0x0000 3 1310720 963072 346880 73.47 73.49 -0.02
コメント:
ヘッダーは処理しません。これを行うには、1行のコードを完全なスクリプトに拡張することをお勧めします。これにより、出力を微調整し、ニーズに合わせてより多くの機能を追加できます。