linux shell 计算;读数据到变量
|||
1、linux不支持浮点计算,需要借助awk工具:
c=$(awk 'BEGIN{print 9/5 }')
echo $c
解析:
1)awk接收字符串,作为awk的输入。
2)awk接收的字符串必须符合awk规范:BEGIN { }为awk基本框架。
3)awk接收的字符串程序串中包含一条语句:print 9/5。也可以:c=$(awk 'BEGIN {print 9/5; print 10/3}'),表示里面包含了两条语句。
4)“c=”后的$(……)符号,表示其后为要执行的语句,而不是简单字符串。执行结果存放到c变量汇总。
c=$可以用``符号把其后的字符串全部包含进去。
2、从文件中读一行到shell变量中:
read n <filename
echo $n
可以从filename文件中读一行到n变量中
3、把shell变量传递到awk程序中
n=123
c=$(awk 'BEGIN{ print '$n/10'}')
echo $c
这里'$n/10'表示这是一个表达式,其中$n为shell中的标量