Shell下bc命令处理和数值的四舍五入
技术积累 Linux Shell

bc命令是linux下的计算器,四舍五入用到printf命令

(接我上篇文章添查询在线文件大小查询)在执行脚本时bc处理出现了错误:(standard_in) 1: illegal character: ^M

# 脚本内容(curl获取文件大小,然后进行换算保留2位小数)
fileLength=`curl -sI $down_url|grep Content-Length|awk '{print $2}'`
filesize=`echo "scale=2;$fileLength/1000^3"|bc`;
echo "文件大小为:[${filesize}]G"

Shell下bc命令处理和数值的四舍五入

网上查错误原因是因为执行返回的结果带有回车符"\r"(使用sh -x调试可以看到),shell中 test[] 和 bc 均无法进行处理,故而报错。

# 解决(结果中的回车符再处理下)
fileLength=`curl -sI $down_url|grep Content-Length|awk '{print $2}'|tr -d tr -d $'\r'`

Shell下bc命令处理和数值的四舍五入

linux下在对文件统计大小(以GB)显示的时候都会对文件大小整数显示,在这个脚本的结果中也加上四舍五入以整数显示

# 0f表示不保留小数
echo "文件大小为:[`printf "%.0f" ${filesize}`]G"

Shell下bc命令处理和数值的四舍五入


本文最后记录时间 2024-03-30
文章链接地址:
https://me.jinchuang.org/archives/1191.html
本站文章除注明[转载|引用|来源],均为本站原创内容,转载前请注明出处
统计文本中每个字符出现的次数
Nali 离线ip数据库文件
苹果CMS v10内容管理系统搭建
bin/ld: Dwarf Error: found dwarf version '5', this reader only handles version 2, 3 and 4 information.

谷歌浏览器Linux版下载

查询和下载备份数据的临时脚本

留言

顶部