计算字节为MB

时间:2010-08-23 09:23:23

标签: mysql formatting grep

mysqladmin命令以字节为单位返回值。如果它大于1 MB(1048576字节),我希望看到以MB为单位的值。

$ mysqladmin variables
+---------------------------------+----------------------------------+
| Variable_name                   | Value                            |
+---------------------------------+----------------------------------+
| auto_increment_increment        | 1                                |
| auto_increment_offset           | 1                                |
...
| interactive_timeout             | 14400                            |
| join_buffer_size                | 10481664                         |
| key_buffer_size                 | 1073741824                       |

我可以一次保存和计算每个变量。但是如何以MB显示所有值?

myval1=$(((`mysqladmin variables | grep '\<key_buffer_size\>' | awk '{print $4}'`)/1048576))

1 个答案:

答案 0 :(得分:2)

脱离我的头脑,这样的事情会起作用:

#!/bin/bash

if [ "$1" = variables ]; then
   /moved/elsewhere/mysqladmin $* | awk '{ sz=$4; if (sz>1048576) 
      { sz=sz/1048576 "Mb"; }
      print $1 $2 $3 sz $5; }'
else
   /moved/elsewhere/mysqladmin $*
fi