Divida o quarto campo na vírgula e use as fatias nessa coluna, além de substituir o último _X,Y
em _slice
, se houver:
awk '{
n=split($4,slices,",")
for(i=1;i<=n;i++) {
res=$2
sub(/.,.*/,slices[i],res)
print $1, res, $3, slices[i], $5, $6
}
}' file
Eu não gosto muito de como eu imprimo os campos, já que eu indico do 1º ao 6º, então espero que isso seja estático.
$ awk '{n=split($4,slices,","); for(i=1;i<=n;i++) {res=$2; sub(/.,.*/,slices[i],res); print $1, res, $3, slices[i], $5, $6}}' a
chr1_156186369 chr1_156186369_A_C A C 33150.29 1/2:0,4,6:10:88:272
chr1_156186369 chr1_156186369_A_T A T 33150.29 1/2:0,4,6:10:88:272
chr19_27732257 chr19_27732257_G_C G C 262.29 1/2:1,10,7:18:99:414,167
chrM_2619 chrM_2619_A_G A G 33023.29 1/2:0,5,5:10:99:293,144,129
chrM_2619 chrM_2619_A_T A T 33023.29 1/2:0,5,5:10:99:293,144,129
chr9_119375271 chr9_119375271_T_A T A 248.29 1/2:1,11,5:17:99:359,107,113
chr9_119375271 chr9_119375271_T_G T G 248.29 1/2:1,11,5:17:99:359,107,113