grepを使用して現在の行から前の行の数を減算するには?

grepを使用して現在の行から前の行の数を減算するには?

mysqladmin私はgrepを使って次のような出力を得ます:

sudo mysqladmin ext -i10 | grep 'buffer_pool_pages_flushed'

出力は次のように連続(10秒ごと)です。

| Innodb_buffer_pool_pages_flushed                             | 265708726                                        |
| Innodb_buffer_pool_pages_flushed                             | 265735665                                        |
| Innodb_buffer_pool_pages_flushed                             | 265751712                                        |
| Innodb_buffer_pool_pages_flushed                             | 265754576                                        |
| Innodb_buffer_pool_pages_flushed                             | 265774380                                        |

grep2番目の列の連続した数字の差を出力するようにコマンドを調整するにはどうすればよいですか?

26939 (265735665-265708726)
16047 (265751712-265735665)
2864 (265754576-265751712)
19804 (265774380-265754576)

答え1

追加:

| awk '{if(NR>1){print $4-last,"("$4"-"last")"} last=$4}'

出力:

26939 (265735665-265708726)
16047 (265751712-265735665)
2864 (265754576-265751712)
19804(265774380-265754576)

答え2

awk '/buffer_pool_pages_flushed/{curr=$(NF-1); print curr-prev; prev=curr}'

関連情報