perl -lpe '
BEGIN{ %h = do{local(@ARGV,$/)=pop;<>} =~ s/^(\s*\d+)(\s\d+)$/$2 $1/mgr =~ //mg;
$_ .= $h{(/(\s\d+)$/)[0]};
' File1 File2
while read -r value key; do eval "_h_$key='$value';"; done < File2
while read -r _1 _2 _3 _4 _5; do
eval "x=\$_h_$_5"
printf '%s ' "$_1" "$_2" "$_3" "$_4" "$_5"
echo "$x"
done < File1
echo '.' >> File2
sed -e '
1{
:file2
N
/\n\.$/!bfile2
H;d
}
G
s/\([ ][0-9][0-9]*\)\n.*\n\([0-9][0-9]*\)\1\n.*/\1 \2/
' File2 File1