比较AWK中的两个变量

时间:2016-09-11 09:59:10

标签: awk

关于在LINUX中使用AWK比较两个变量,我有一个问题。 例如,对于a=090810b=090910,使用shell可以正常工作:

if [ $a -le $b ]; then
 echo "Hello"
fi

但是,使用awk无效:

if ( a -le b ) print "Hello"

if ( a < b ) print "Hello"

但这很好用:

if ( a < "090910" ) print "Hello"

有人可以帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:0)

您需要使用-v选项将变量从shell传递给awk:

$ x=10
$ y=5
$ echo | awk -v x="$x" -v y="$y" '{print x+y}' 
15

答案 1 :(得分:0)

awk中没有-le运算符,请使用<, >, <=, >=

$ awk 'BEGIN {a=090810; b=090910; if(a<b) print "a<b"; if(a>b) print "a>b"}'
a<b