Поскольку значения K ??????
уникальны во втором файле, вы можете использовать awk
, сначала прочитав второй файл и сохранив каждую строку в массиве по индексу K ??????
затем обработайте 1-й файл и для каждого K ??????
в массиве распечатайте значение и соответствующую строку:
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
Альтернативно , с помощью sed
вы можете превратить второй файл в сценарий sed
и использовать его для обработки первого файла:
sed 's|.*:\([^[:blank:]]*\)[[:blank:]].*|/\1/c\\\
\1 &|' File2_.txt | sed -f - File1_.txt
Предполагается, что существует только один :
( после ko
) и без обратной косой черты во втором файле и что K ??????
не может содержать косую черту.