Como esses valores K??????
são exclusivos no segundo arquivo, você pode usar awk
, primeiro lendo o segundo arquivo e salvando cada linha em uma matriz no índice K??????
e processando o primeiro arquivo e para cada K??????
que está em array imprime o valor e a linha correspondente:
awk 'NR==FNR{split($1, a, ":"); u=a[2];b[u]=$0; next}
{if ($0 in b) {print $0, b[$0]}}' File2_.txt File1_.txt
Como alternativa, com sed
você pode transformar o segundo arquivo em um script sed
e usá-lo para processar o primeiro arquivo:
sed 's|.*:\([^[:blank:]]*\)[[:blank:]].*|//c\\
&|' File2_.txt | sed -f - File1_.txt
Isso pressupõe que exista apenas um :
(após ko
) e nenhuma barra invertida no segundo arquivo e que K??????
não pode conter barras.