本文介绍了KB到MB使用bash的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我用命令来获取远程文件夹的大小,它的运行后,它会返回

I use a command to get the size of a remote folder after it's run it returns

120928312 http://blah.com

数在KB大小我想要做的是什么让它在MB产量和删除,我猜greping到一个文件,但不知道如何去做。在HTTP部分

the number is size in KB what i'd like to do is have it output in MB and the http part removed, I'm guessing greping to a file but not sure how to go about it.

推荐答案

您可以用shell内建命令去做

You can do it with shell builtins

some_command |while read KB dummy;do echo $((KB/1024))Mb;done

下面是一个更有用的版本:

Here is a more useful version:

#!/bin/sh
human_print(){
while read B dummy; do
  [ $B -lt 1024 ] && echo ${B} bytes && break
  KB=$(((B+512)/1024))
  [ $KB -lt 1024 ] && echo ${KB} kilobytes && break
  MB=$(((KB+512)/1024))
  [ $MB -lt 1024 ] && echo ${MB} megabytes && break
  GB=$(((MB+512)/1024))
  [ $GB -lt 1024 ] && echo ${GB} gigabytes && break
  echo $(((GB+512)/1024)) terabytes
done
}

echo 120928312 http://blah.com | human_print

这篇关于KB到MB使用bash的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-24 16:52