awk :
awk '{ k=$1 FS $2 FS $4 FS $5 FS $6; a[k]=(k in a)? a[k]"/"$3 : $3 }
END{ for(i in a) {
split(i,b,FS); b[3]=a[i]"\t"b[3]; r="";
for(j=1;j<=NF;j++) {
r=(r!="")? r"\t"b[j] : b[j]
}
print r
}
}' input
A saída:
1 1684347 COSM1320773/COSM1320774/COSM5827581 C CCCT NADK
1 109860777 COSN18724706 CT C SORT1
1 154842199 COSM3685920/COSM5827506 G GGCTGCTGCTGCTGCT,GGCTGCTGCTGCTGCTGCT KCNN3
1 248801602 COSM246232 T TCA OR2T35
Detalhes :
-
k=$1 FS $2 FS $4 FS $5 FS $6
- chave de matriz complexa -
a[k]=(k in a)? a[k]"/"$3 : $3
- concatenando o valor do terceiro campo para registros com campos combinados / agrupados -
split(i,b,FS)
- chave de matriz dividida por separador -
b[3]=a[i]"\t"b[3]
- inserindo o valor resultante (3º campo) na respectiva posição