关于gawk的比较问题,要崩溃了(已解决)

sh/bash/dash/ksh/zsh等Shell脚本
回复
coolboymark
帖子: 11
注册时间: 2009-11-15 22:41

关于gawk的比较问题,要崩溃了(已解决)

#1

帖子 coolboymark » 2010-05-16 13:18

有一个原始文件,内容如下:
1|a
1|b
2|c
...

给定一个id,如果和原始文件第一field相同则输出原始文件的field2
一开始我的gawk如下:

代码: 全选

gawk -F '|' -v mid=$id '{
                        if ( ($1 == mid) && ( NR == 1 ) ){
                                printf("%s",$2);
                        }
                }' $tmpfinal
结果无效,我想难道是字符串和数字的转换问题,于是我改成:

代码: 全选

                gawk -F '|' -v mid=$id '{
                        gid=0+$1
                        mid=0+mid
                        print "gid is " gid
                        print "mid is " mid
                        if ( (gid == mid) && ( NR == 1 ) ){
                                printf("%s",$2);
                        }
                }' $tmpfinal
结果已然无效,但是mid和gid打印正常,我已经要崩溃,求各位大大相助,多谢 :em06 :em06

原来为了删去重复使用NR==1,才发现这才是问题根源,已经ok了。。。 :em05
回复