请帮帮忙。如何才能做到这一点
if [ echo `awk 'BEGIN{print 0.001>0.9}'` -eq 0 ]; then DO SOMETHING; fi但这是错误的。
我想要做的是:如果第一个数字(0.001)大于0.9,那么就做点什么。否则什么也不做
数字将始终是浮点型,如0.001,0.03,0.89...
啊,我不能使用bc命令。
发布于 2013-11-23 03:49:15
概括一下:
function gt {
awk -v n1=$1 -v n2=$2 'BEGIN {exit !(n1 > n2)}'
}
if gt 0.01 0.9; then
do_something
fi发布于 2013-11-23 03:46:16
这应该是可行的:
[[ $(awk 'BEGIN{print (0.001>0.9)}') -eq 0 ]] && DO SOMETHING或者,如果您想将变量传递给awk:
[[ $(awk -v a='0.001' -v b='0.9' 'BEGIN{print (a>b)}') -eq 0 ]] && echo "a is smaller"发布于 2013-11-23 03:59:07
拿你现有的代码来说,它缺少变量,从字面上看,这应该足够了:
DO SOMETHING因为0.001永远不会大于0.9,所以awk应该打印0,这当然等于0,所以如果不使用任何变量,整个测试就有点没有意义……
https://stackoverflow.com/questions/20153207
复制相似问题