awk 'FNR==NR{a[$1]++;next;}($1 in a)&&($2 in a){print}' file2 file1
perl -lane '
@ARGV and $h{$F[0]}++,next;
print if @F == grep { $h{$_} } @F;
' file2 file1
Eu tenho dois arquivos separados por tabulações:
Arquivo 1
123 456
135 567
234 478
Arquivo 2
123 notimportant notimportant2
456 notimportant notimportant2
987 notimportant notimportant2
135 notimportant notimportant2
234 notimportant notimportant2
478 notimportant notimportant2
Eu preciso extrair linhas do arquivo1 se ambas as entradas em uma única linha estiverem presentes na primeira coluna do arquivo2. Então o arquivo de saída deve ser como:
Resultado
123 456
234 478
Eu usei anteriormente este comando awk para extrair linhas se apenas a primeira coluna do arquivo1 correspondesse à primeira coluna do arquivo2
awk 'FNR==NR{a[$1];next}($1 in a){print}' file2 file1
Mas não sei como expandi-lo.
Tags text-processing awk