У меня есть два файла:
input1
22 rs145072688 14431347 C G 0.3418 0.648 0.830 0.516 0.506 0.497 0.785 0.586
22 rs201725126 14432618 G A 0.8119 1.571 1.748 1.661 1.384 1.374 1.614 1.718
22 rs200579949 14433624 G A 0.8598 1.590 1.669 1.763 1.754 1.832 1.627 1.250
22 rs75454623 14433659 C A 0.7888 1.564 1.606 1.667 1.355 1.619 1.692 1.775
22 rs199856693 14433758 G A 0.9354 1.807 1.936 1.906 1.847 1.929 1.734 1.327
22 rs9604721 14434713 C T 0.9723 1.984 1.984 1.984 1.984 1.984 1.878 1.412
input2
rs145072688:10352:T:TA rs145072688
rs201725126:13116:T:G rs201725126
rs200579949:13118:A:G rs200579949
rs75454623:14930:A:G rs75454623
rs199856693:14933:G:A rs199856693
желаемый вывод:
22 rs145072688:10352:T:TA 14431347 C G 0.3418 0.648 0.830 0.516 0.506 0.497 0.785 0.586
22 rs201725126:13116:T:G 14432618 G A 0.8119 1.571 1.748 1.661 1.384 1.374 1.614 1.718
22 rs200579949:13118:A:G 14433624 G A 0.8598 1.590 1.669 1.763 1.754 1.832 1.627 1.250
22 rs75454623:14930:A:G 14433659 C A 0.7888 1.564 1.606 1.667 1.355 1.619 1.692 1.775
22 rs199856693:14933:G:A 14433758 G A 0.9354 1.807 1.936 1.906 1.847 1.929 1.734 1.327
22 rs9604721 14434713 C T 0.9723 1.984 1.984 1.984 1.984 1.984 1.878 1.412
Так что, если 2-йстолбцы обоих файлов совпадают. Я хочу заменить значения во 2-м столбце в файле input1 значениями в 1-м столбце из input2.
Я пробовал это:
awk 'FNR==NR{a[$1]=$2;next} $2 in a{$2=a[$1]}1' input2 input1
и это
awk 'FNR==NR { F2[$2]=$2 ; next } $2 in F2 {$1 = F2[$1] ; print } ' input2 input1