파일 1:
P SNP:
0.266234 1:11008
0.266234 1:11012
0.340042 1:13110
0.86724 rs201725126
0.86724 rs200579949
0.127269 1:1327
파일 2:
snp chr:pos
rs201725126 1:10020
rs200579949 1:10055
rs62651026 1:10108
rs376007522 1:10109
rs796688738 1:10128
rs368469931 1:10139
원하는 출력:
P SNP:
0.266234 1:11008
0.266234 1:11012
0.340042 1:13110
0.86724 1:10020
0.86724 1:10055
0.127269 1:13273
따라서 파일 1의 모든 rsID를 파일 2의 chr:pos로 바꾸고 이미 chr:pos 형식이 있는 다른 모든 행은 변경하지 않고 그대로 두려고 합니다.
나는 다음 명령을 시도했습니다.
awk 'NR==FNR{a[$1]=$2} NR>FNR{$2=a[$2];print}' file2.txt file1.txt > merged.txt
rsID를 훌륭하게 병합하는 동안 아래와 같이 기존 chr:pos 형식이 손실되었습니다.
P SNP:
0.266234
0.266234
0.340042
0.86724 1:10020
0.86724 1:10055
0.127269
답변1
awk 'NR==FNR{a[$1]=$2; next} $2 in a {$2=a[$2]} {print}' file2.txt file1.txt
P SNP:
0.266234 1:11008
0.266234 1:11012
0.340042 1:13110
0.86724 1:10020
0.86724 1:10055
0.127269 1:1327