ID 일치 및 원본 파일 인쇄

ID 일치 및 원본 파일 인쇄

파일이 두 개 있어요

원본 텍스트: (5000개 항목)

Chr Position
chr1    879108
chr1    881918
chr1    896874

및 대립유전자 빈도를 포함하는 파일(2000개 항목)

Chr Position MAF
chr1 881918  0.007   
chr1 979748  0.007   
chr1 1120377 0.007  
chr1 1178925 0.036  

원시 파일을 대립유전자 빈도와 일치시키고 5000개의 항목이 포함된 출력 파일을 인쇄하고 싶습니다. awk나 sed로 할 수 있나요?

Chr Position MAF
chr1    879108
chr1    881918 0.007
chr1    896874

답변1

나는 join당신에게 필요한 것을 사용하고 얻을 수 있습니다awk

$ cat original 
chr1    879108
chr1    881918
chr1    896874
$ cat freq 
chr1 881918  0.007   
chr1 979748  0.007   
chr1 1120377 0.007  
chr1 1178925 0.036 
$ join -a1 -j 2 --nocheck-order original freq | awk '{print $2, $1, $4}'
chr1 879108 
chr1 881918 0.007
chr1 896874 

여기서는 두 번째 필드와 일치하는 -a1첫 번째 파일의 모든 줄을 인쇄하고 정렬된 입력을 확인하지 않음을 의미합니다. 파이프는 기둥을 필요한 모양으로 처리합니다.-j 2--nocheck-orderawk

답변2

다음을 시도해 볼 수도 있습니다.

awk 'NR==FNR{A[$1,$2]=$3; next} {$3=A[$1,$2]}1' file2 file

관련 정보