awk 连接字符串
awk中数据类型,是不需要定义,自适应的。 有时候需要强制转换。我们可以通过下面操作完成。
一、awk字符串转数字
awk 'BEGIN{a="100";b="10test10";print (a+b+0);}'
110
只需要将变量通过”+”连接运算。自动强制将字符串转为整型。非数字变成0,发现第一个非数字字符,后面自动忽略。
二、awk数字转为字符串
awk 'BEGIN{a=100;b=100;c=(a""b);print c}'
100100
只需要将变量与””符号连接起来运算即可。
三、awk字符串连接操作
awk 'BEGIN{a="a";b="b";c=(a""b);print c}'
ab
awk 'BEGIN{a="a";b="b";c=(a+b);print c}'
0
示例:
awk '{
VARprefix="";sufix="";
if(length($1)<=2)
{
if(length($1) == 1) { aa="sscrsnp0"; VARprefix=aa""$1; }
else {aa="sscrsnp"; VARprefix=aa""$1;}
pLen=length($2);
if(pLen==3) {sufix="000000"$2;}
else{if(pLen==4) {sufix="00000"$2;}
else{if(pLen==5) {sufix="0000"$2;}
else{if(pLen==6) {sufix="000"$2;}
else{if(pLen==7){sufix="00"$2;}
else{if(pLen==8){sufix="0"$2;}
else{if(pLen==9) {sufix=$2;}}}}}}}
print $1"\t"$2"\t"VARprefix""sufix"\t"$4"\t"$5;
} }' /temp0001