С awk
:
awk 'NR==FNR{a[$0]=NR; next} a[$1]' f1.txt f2.txt
NR==FNR{a[$0]=NR; next}
: для первого файла ( f1.txt
) мы помещаем запись в качестве ключа в ассоциативный массив с соответствующим номером записи в качестве значения
a[$1]
: для второго файла ( f2.txt
) запись печатается только в том случае, если первое поле является ключом массива a
Пример:
% cat f1.txt
A
B
C
% cat f2.txt
A aaa B
D bbb A
B aaa h
% awk 'NR==FNR{a[$0]=NR; next} a[$1]' f1.txt f2.txt
A aaa B
B aaa h