shell中比较两个变量之间的值!

2024-11-15 05:10:13
推荐回答(2个)
回答(1):

#问题原因:gt只能比较整数,浮点数应该按字符串比较
#正确写法如下:
#!/bin/sh
#输入参数:数据文件
if [ $# -ne 1 ]
then
    echo "Usage: $0 filename"
    exit
fi
#循环读取行
while read line
do
    a=`echo $line | awk -F ',' '{print $2}'`
    b=`echo $line | sed 's/.*\(....\)$/\1/'`
    
    #注意:以下>符号前的\不能少
    if [ "$a" \> "$b" ]
    then
        echo "go"
    fi
done < $1

希望能够帮助到你,你的好评是我前进的动力,谢谢!

回答(2):

你是想直接比较 2列数据 吧

awk -F ","  '$2<$3{print$0}' cc.del

这句是直接比较 第三列大于第二列则输出整行

如果想比较第三列大于第二列输出第一列 吧$0换成$1即可

如果只单纯输出go

awk -F ","  '$2<$3{system("echo go")}' cc.del