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
