【发布时间】:2018-08-17 15:51:13
【问题描述】:
这么简单的任务我遇到了麻烦...
请在下面找到相关代码:
loewdin_fuk=$(echo $line_fukui|awk '{print $4}')
nbo_fuk=$(echo $line_fukui|awk '{print $5}')
echo "loewdin_fuk $loewdin_fuk nbo_fuk $nbo_fuk"
aver_fuk=$(($loewdin_fuk + $nbo_fuk))
\#aver_fuk=$(echo "scale=4; 0.5*($loewdin_fuk $nbo_fuk)" | bc -l)
输出是:
loewdin_fuk +0.1662 nbo_fuk +0.1865
./collectFukui.sh: line 151: +0.1662 + +0.1865: syntax error: invalid
arithmetic operator (error token is ".1662 + +0.1865")
使用命令行:
aver_fuk=$(echo "scale=4; 0.5*($loewdin_fuk $nbo_fuk)" | bc -l)
导致以下输出:
loewdin_fuk +0.1662 nbo_fuk +0.1865
(standard_in) 1: syntax error
我不明白怎么了...提前谢谢你!
最好的,
我
【问题讨论】:
-
bash无法处理浮点数。在awk中做所有事情。 -
echo "$line" | awk '{print "Average: ", ($4 + $5)/2.0}' -
非常感谢。它有效!