Сначала прочитайте второй файл и сохраните значения 1-го столбца в массиве arr
в качестве ключей массива, а затем прочитайте первый файл, если 1-й столбец файла1 существует в массиве arr
, который был создан с использованием файла2, затем напечатайте текущую строку /запись из файла1.
awk 'FNR==NR{arr[$1];next}$1 in arr' file2 file1
Преимущество:
, если вы используете a[$1]=$2"\t"$3"\t"$4"\t"$5; next
, если какие-либо данные с таким же ключом будут заменены предыдущим значением,
но если вы используете arr[$1];next
, мы храним только уникальный ключ, а $1 in arr
заботится о дублировании записи, даже если она существует