Artificial intelligent assistant

Replace text with values I have two files that need to be merged into one. File 1 example: gene_1 578 gene_2 565 gene_3 3 gene_4 77 gene_5 8 gene_6 0 gene_7 45 gene_8 67 gene_9 0 gene_10 65 File2 example: COG0430 gene_5 gene_9 COG1949 gene_1 gene_3 gene_6 COG5049 gene_2 gene_4 gene_7 gene_10 COG5104 gene_8 The output file should look like this: COG0430 8 0 COG1949 578 3 0 COG5049 565 77 45 65 COG5104 67 Does anyone know a command that can solve this problem?

#!/bin/bash
declare -A arr
readarray -t lines < "file1"

for line in "${lines[@]}"; do
arr[${line%% *}]=${line#* }
done

readarray -t lines2 < "file2"

for line in "${lines2[@]}"; do
echo -n "${line%% *} "
for word in $line; do
echo -n "${arr[$word]} "
done
echo
done


Not the cleanest bash but it works. Also make sure you have bash >= 4.2

xcX3v84RxoQ-4GxG32940ukFUIEgYdPy bec3bef353dfaa7f564ddbddf17968e8