É possível localizar e filtrar registros com uma coluna que tenha valores correspondentes, mas valores não correspondentes em outra coluna?

0

Eu preciso filtrar os registros no segundo arquivo:

Digamos que o arquivo1 seja assim:

0006296 OIL FILTER PH3506   HONEYWELL   Parts and Repair    3101
0015735 OIL FILTER PH2870   HONEYWELL   Parts and Repair    3101

e o arquivo2 será:

0006296 OIL FILTER PH3506   HONEYWELL   Parts and Repair    3101
0015735 OIL FILTER PH2870   HONEYWELL   Automotive          4201

como eu filtraria a segunda linha do arquivo 2, com base no fato de que ela tem uma primeira coluna correspondente, mas uma coluna que não corresponde à última coluna.

    
por user236443 16.06.2017 / 21:33

1 resposta

0

Isso deve ser suficiente usando como chave o primeiro e o último campo:

$ awk 'NR==FNR{a[$1"-"$NF]++;next}$1"-"$NF in a' file1 file2
0006296 OIL FILTER PH3506   HONEYWELL   Parts and Repair    3101

Estamos separando esses dois campos com algo (um traço no meu exemplo) para evitar a confusão de 0006296 and 3101 com 00062963 and 101

    
por 16.06.2017 / 23:03