关于gawk的比较问题,要崩溃了(已解决)
发表于 : 2010-05-16 13:18
有一个原始文件,内容如下:
1|a
1|b
2|c
...
给定一个id,如果和原始文件第一field相同则输出原始文件的field2
一开始我的gawk如下:
结果无效,我想难道是字符串和数字的转换问题,于是我改成:
结果已然无效,但是mid和gid打印正常,我已经要崩溃,求各位大大相助,多谢

原来为了删去重复使用NR==1,才发现这才是问题根源,已经ok了。。。
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


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