分页: 1 / 1

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

发表于 : 2010-05-16 13:18
coolboymark
有一个原始文件,内容如下:
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