Joining the files with comparing the first column

Hi,
I have two files in the following format. I am trying to compare the first column of both the files and if the values match the rows in file tst6 should be replaced in tst1.

File tst1

S00823295|MIDDL|0|MR|019221521A||RL|STD|0|0||E
S00862481|ESSEX|0|MR|018163650A||R|STD|0|0||E
S00754609|PLYMO|0|MR|024266906A||VR|STD|0|0||E
S00645160|MIDDL|0|MR|018099911D||P|STD|0|0||E
S00732105|NORFO|0|MR|010225966A||P|STD|0|0||E
S00812038|MIDDL|0|MR|014143292A||P|STD|0|0||E
S00827283|MIDDL|0|MR|020105100A||P3|STD|0|0||E
S00815555|MIDDL|0|MR|021203506A||P|STD|0|0||E
S00827600|MIDDL|0|MR|010261774A||P|STD|0|0||E
S00827601|MIDDL|0|MR|020206784A||P|STD|0|0||E
S00640208|MIDDL|0|MR|025206271A||P|STD|0|0||E
S00843952|MIDDL|0|MR|030243897A||P|STD|0|0||E
S00543110|MIDDL|0|MR|029071547A||P|STD|0|0||E
S00858097|MIDDL|0|MR|027120380D||R3|STD|0|0||E
S00001493|ESSEX|0|MR|028205925D||RK|STD|0|0||E
S00001525|MIDDL|0|MR|032148569D||RK|STD|0|0||E
S00001541|NORFO|0|MR|030184451A||P|STD|0|0||E
S00001573|ESSEX|0|MR|033092125A||BC|STD|0|0||E
S00001589|MIDDL|0|MR|004360465D||P|STD|0|0||E
S00001606|MIDDL|0|MR|030229776A||RK|STD|0|0||E
S00001641|ESSEX|0|MR|074289965A||R|STD|0|0||E
S00001658|NORFO|0|MR|210142567A||R|STD|0|0||E
S00001723|WORCE|0|MR|028161062A||W|STD|0|0||E
S00001727|NORFO|0|MR|023162782A||P|STD|0|0||E
S00001737|MIDDL|0|MR|031204620A||N|STD|0|0||E

File tst6

S00823295|MIDDL|0002.20|MR|001187912D||R|STD|201305|001187912D||E
S00862481|1062D|0013.40|PDP|001241743A||P|EG PDP3|201305|001241743A||E
S00754609|MIDDL|0010.60|MR|001244187A||P|STD|201305|001244187A||E
S00645160|SUFFO|0001.90|MR|001246274A||R|STD|201305|001246274A||E
S00732105|ESSEX|0003.40|MR|001263767A||BC|STD|201305|001263767A||E
S00812038|MIDDL|0009.00|MR|001341347B||BC|STD|201305|001341347B||E
S00827283|NORFO|0002.20|MR|001344485A||BC|STD|201305|001344485A||E
S00815555|ESSEX|0003.40|MR|001445431A||BC|STD|201305|001445431A||E
S00827600|ESSEX|0017.10|MR|001641484A||BC|STD|201305|001641484A||E
S00827601|ESSEX|0017.10|MR|001642345A||BC|STD|201305|001642345A||E
S00640208|MIDDL|0002.20|MR|002146794A||R|STD|201305|002146794A||E
S00843952|MIDDL|0001.60|MR|002189080A||R|STD|201305|002189080A||E
S00543110|BARNS|0024.60|MR|002207034D||A|STD SAVER|201305|002207034D||E
S00858097|BRIST|0005.90|MR|002241152A||BC|STD|201305|002241152A||E
S00837608|ESSEX|0001.20|MR|002264406A||BC|STD|201305|002264406A||E
S00662488|PLYMO|0024.60|MR|002285080A||A|STD SAVER|201305|002285080A||E
S00820966|NORFO|0022.40|MR|002289133A||A|STD SAVER|201305|002289133A||E

Desired output :

S00823295|MIDDL|0002.20|MR|001187912D||R|STD|201305|001187912D||E
S00862481|1062D|0013.40|PDP|001241743A||P|EG PDP3|201305|001241743A||E
S00754609|MIDDL|0010.60|MR|001244187A||P|STD|201305|001244187A||E
S00645160|SUFFO|0001.90|MR|001246274A||R|STD|201305|001246274A||E
S00732105|ESSEX|0003.40|MR|001263767A||BC|STD|201305|001263767A||E
S00812038|MIDDL|0009.00|MR|001341347B||BC|STD|201305|001341347B||E
S00827283|NORFO|0002.20|MR|001344485A||BC|STD|201305|001344485A||E
S00815555|ESSEX|0003.40|MR|001445431A||BC|STD|201305|001445431A||E
S00827600|ESSEX|0017.10|MR|001641484A||BC|STD|201305|001641484A||E
S00827601|ESSEX|0017.10|MR|001642345A||BC|STD|201305|001642345A||E
S00640208|MIDDL|0002.20|MR|002146794A||R|STD|201305|002146794A||E
S00843952|MIDDL|0001.60|MR|002189080A||R|STD|201305|002189080A||E
S00543110|BARNS|0024.60|MR|002207034D||A|STD SAVER|201305|002207034D||E
S00858097|BRIST|0005.90|MR|002241152A||BC|STD|201305|002241152A||E
S00001493|ESSEX|0|MR|028205925D||RK|STD|0|0||E
S00001525|MIDDL|0|MR|032148569D||RK|STD|0|0||E
S00001541|NORFO|0|MR|030184451A||P|STD|0|0||E
S00001573|ESSEX|0|MR|033092125A||BC|STD|0|0||E
S00001589|MIDDL|0|MR|004360465D||P|STD|0|0||E
S00001606|MIDDL|0|MR|030229776A||RK|STD|0|0||E
S00001641|ESSEX|0|MR|074289965A||R|STD|0|0||E
S00001658|NORFO|0|MR|210142567A||R|STD|0|0||E
S00001723|WORCE|0|MR|028161062A||W|STD|0|0||E
S00001727|NORFO|0|MR|023162782A||P|STD|0|0||E
S00001737|MIDDL|0|MR|031204620A||N|STD|0|0||E

Code currently used :

join -t"|" -1 1 -2 1 -o 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 2.10 2.11 2.12 tst1 tst6 > nua7

Any help would be really appreciated.

awk -F\| 'NR==FNR{A[$1]=$0;next}$1 in A{$0=A[$1]}1' tst6 tst1
1 Like