I have 2 files,
head file1
ESC_KB2908AA_AS 1 Eco-19-00825
ESC_KB2909AA_AS 2 Eco-20-00081
ESC_KB2910AA_AS 3 Eco-20-00128
ESC_KB2911AA_AS 4 Eco-19-00991
and head file2
ESC_KB2908AA_AS
ESC_KB2908AA_AS
ESC_KB2908AA_AS
ESC_KB2909AA_AS
ESC_KB2909AA_AS
ESC_KB2909AA_AS
ESC_KB2910AA_AS
ESC_KB2910AA_AS
ESC_KB2911AA_AS
ESC_KB2911AA_AS
I want to check if the first column of file1 matches to the first column of file2 and if ID matched then print the output according to file2.
Expected file output :
ESC_KB2908AA_AS 1 Eco-19-00825
ESC_KB2908AA_AS 1 Eco-19-00825
ESC_KB2908AA_AS 1 Eco-19-00825
ESC_KB2909AA_AS 2 Eco-20-00081
ESC_KB2909AA_AS 2 Eco-20-00081
ESC_KB2909AA_AS 2 Eco-20-00081
ESC_KB2910AA_AS 3 Eco-20-00128
ESC_KB2910AA_AS 3 Eco-20-00128
ESC_KB2911AA_AS 4 Eco-19-00991
ESC_KB2911AA_AS 4 Eco-19-00991
I tried the following code but I am getting output only for last line of file2. Could you please help what's wrong with script?
awk 'FNR==NR{key[$1]=$2;next} {$2=key[$1]}1' file1.txt file2.txt > output.txt