- 论坛徽章:
- 0
|
执行sh 的时候出现下面这么两行,请问是出了什么错呢?
awk: cmd. line:29: (FILENAME=cbe_subscriber_dyn.unl FNR=1) fatal: attempt to access field -2147483648
脚本如下:
currdate=`date '+%Y%m%d%H%M%S'`
awk -v currdate=${currdate} 'BEGIN{
OFS="|"
FS="|"
}{
if (FILENAME == "msisdn.list")
{
msisdn[$1]=sprintf("%s,%s,%s",$2,$3,$4)
}
else if (FILENAME == "numservice.unl")
{
if($3 > currdate)
{
if($5 in msisdn)
{
subkey[$1]=msisdn[$5]
}
}
print 111
}
else if (FILENAME == "cbe_subscriber_dyn.unl")
{
if($1 in subkey)
{
split(subkey[$1],timename,",") #第一个参数为数值名,第二位分离后的参数名,第三位为分割符
validate=timename[1]
suspenddate=timename[2]
disabledate=timename[3]
printf "update cbe_subscriber_dyn set validdate='%s',suspendenddate='%s',disableenddate='%s' where subscriberkey=%s;\n" $validate $suspenddate $disabledate $1 >> "update_expiredate.sql"
}
}
}' msisdn.list numservice.unl cbe_subscriber_dyn.unl |
|