shell小问题,有点诡异

wklken 2011-07-14 01:54:59
awk '{if($2<$LAST) print "NODONE"$2}' ./data/iData
无输出
awk '{if($2<20110714) print "NODONE"$2}' ./data/iData
NODONE20110710
NODONE20110630
NODONE20110601

echo $LAST
20110714

为什么用变量和用数字输出结果不一样呢.....晕了
...全文
92 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wklken 2011-07-15
  • 打赏
  • 举报
回复
结帖结帖
justkk 2011-07-14
  • 打赏
  • 举报
回复
awk -v a=$LAST '{if($2<a) print "NODONE"$2}' ./data/iData

试试,这样是定义一个变量
freetstar 2011-07-14
  • 打赏
  • 举报
回复
应该是awk自己的独有方式
可以print $a,"$a",'$a'观察下输出结果
wklken 2011-07-14
  • 打赏
  • 举报
回复
试了下双引号,失败
为什么单引号能成功呢?
帅得不敢出门 2011-07-14
  • 打赏
  • 举报
回复
要与字符比较 而不是数字
昵称很不好取 2011-07-14
  • 打赏
  • 举报
回复
额,用单引号给引起来
freetstar 2011-07-14
  • 打赏
  • 举报
回复
if($2<'$LAST')

这样就ok了

23,121

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧