Tente fazer isso usando junte-se em vez de grep
. ser mais adequado:
$ join <(sort file1) <(sort file2)
1111 Roger
3333 Oscar
4444 Roy
6666 Patrick
Se o seu shell não tiver substituições de processo <( )
, você pode fazer:
sort file1 > new_file1
sort file2 > new_file2
join new_file1 new_file2
Doc disse:
join writes to standard output a line for each pair of input lines that have identical join fields.
Consulte o link
Notas:
O arquivo precisa ser classificado na chave de classificação para que join
funcione corretamente. É por isso que usamos alguns descritores de arquivo em segundo plano usando substituições de processo
Consulte o link ou o link para um uso comum.