Como mesclar dois arquivos com diferentes comprimentos e colunas linux

1

Eu tenho 2 arquivos com diferentes colunas e tamanho e quero mesclá-los como arquivo de saída desejado dado abaixo, por favor, ajuda!

Arquivo 1

aa
bb
cc
dd

Arquivo 2

ff , 2 , tg12
dd , 3 , tg13
gg , 4 , tg14
hh , 5 , tg15
aa , 6 , tg16
bb , 7 , tg17
cc , 8 , tg18
ii , 9 , tg19

Saída desejada

aa , 6 , tg16
bb , 7 , tg17
cc , 8 , tg18
dd , 3 , tg13
    
por Amber 05.11.2017 / 20:58

2 respostas

1

Solução

AWK (ordenada pelo comando sort ):

awk 'NR==FNR{ a[$1]; next }$1 in a' file1 FS='[[:space:]]*,[[:space:]]' file2 | sort
  • FS='[[:space:]]*,[[:space:]]' - separador de campos definido para file2

A saída:

aa , 6 , tg16
bb , 7 , tg17
cc , 8 , tg18
dd , 3 , tg13
    
por 05.11.2017 / 21:28
0

A solução mais simples que eu pude pensar:

grep -f file1 file2 | sort
    
por 06.11.2017 / 09:34

Tags