在Shell中进行字符串大小比较

到网上摘抄了下面2个方法

====方法①===========

a="2004.03.08"

b="2005.03.08"

c=`expr$a\>=$b`

if[$c-eq1]

then

echo$a\>=$b

else

echo$a\<$b

fi

====方法②============

DATE="ef"

MODIFY="ab"

echo"`echo-e"$MODIFY\n$DATE"|sort|head-1`"

if["$MODIFY"=`echo-e"$MODIFY\n$DATE"|sort|head-1`]

then

echo"MODIFYislittlethanDATE"

else

echo"MODIFYisgreaterthatDATE"

fi

====方法三========

如果是仅仅比较时间,可以把时间转换成整数比较,下面是示例

while [  `date -d $fromDay +%s` -le `date -d $toDay +%s ` ] 
do
        dim_date=$fromDay
        echo $dim_date
        fromDay=`date +%Y-%m-%d -d "$fromDay 1day"`
done

参考(里面有Bug,但是思路是正确的):

http://www.diybl.com/course/3_program/shell/shelljs/20110903/559590.html

相关推荐