关于在LINUX中使用AWK比较两个变量,我有一个问题。
例如,对于a=090810
和b=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"
有人可以帮我解决这个问题吗?
答案 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