다음 파일이 있습니다.
name id alello chr pos snp
s1 215 a 1 11 a215
s1 216 a 1 11 a216
s1 217 a 1 11 a217
s1 218 a 1 11 a218
s2 215 b 2 22 b215
s2 216 b 2 22 b216
s2 217 b 2 22 b217
s2 218 b 2 22 b218
다음과 같은 파일이 필요합니다.
snp allelo chr pos 215 216 217 218
s1 a 1 11 a215 a216 a217 a218
s2 b 2 22 b215 b216 b217 b218
답변1
awk가 구출하러 온다!
$ awk 'NR==1{h=$1 OFS $3 OFS $4 OFS $5; next}
{a[$1]=(($1 in a)?(a[$1] OFS $NF):($3 OFS $4 OFS $5 OFS $6));
if(!($2 in b)) {h=h OFS $2; b[$2]}}
END{print h; for(k in a) print k,a[k]}' file | column -t
name alello chr pos 215 216 217 218
s1 a 1 11 a215 a216 a217 a218
s2 b 2 22 b215 b216 b217 b218
나는 이 문제를 해결하지 못했습니다. Karakfa에게 감사드립니다.