{ n1=split($1,a,"_"); samp=a[1]; if (n1==2){ org=substr(a[2],1,length(a[2])-4); }else{ n2=split($1,b,"."); org=b[n2-1]; } as[samp]++; ao[org]++ na[samp,org]=$2; nr[samp]=$5; pct[samp,org]=$4; # print samp,org,$0 }END{ for (samp in as) { printf("\t%s",samp); } printf("\n"); for (org in ao) { printf("%s",org); for (samp in as) { printf("\t%s",pct[samp,org]); } printf("\n"); } f="all_genomic_abs.csv"; for (samp in as) { printf("\t%s",samp)>>f; } printf("\ntotal_reads")>>f; for (samp in as) { printf("\t%s",nr[samp])>>f; } printf("\n")>>f; for (org in ao) { printf("%s",org)>>f; for (samp in as) { printf("\t%s",na[samp,org])>>f; } printf("\n")>>f; } close(f); }