divide um arquivo grande baseado em elementos em outro arquivo

0

Eu gostaria de dividir um arquivo grande com base em elementos em outro arquivo. Aqui está um exemplo de dados para o primeiro arquivo:

Col1,Col2,Col3   
A,10,50  
B,10,05  
C,20,30  
B,20,03  
A,30,100  
C,30,111  
D,40,120  

O segundo arquivo é:

A  
B  
C

Eu gostaria de salvar o subconjunto do arquivo1 com a primeira coluna que leva o valor "A" para A.txt; e "B" para B.txt e assim por diante.

Antes de usar

awk '$1=="A"' file1.txt > A.txt

mas agora tenho que lidar com mais de 100 nomes diferentes no segundo arquivo, procurando uma maneira melhor de fazer o trabalho. Obrigado!!!

    
por mathcz 28.10.2018 / 00:53

1 resposta

2

Os elementos básicos do seu caso foram discutidos muitas vezes neste site, por exemplo

Colocando-os juntos

awk -F, 'NR==FNR {a[$1]++; next} $1 in a {print > $1 ".txt"}' file2.txt file1.txt
    
por 28.10.2018 / 10:09