Leia um arquivo maior-A e recupere as strings relacionadas no 2º arquivo e crie uma saída

0

Eu estou executando um loop for contra dois arquivos maiores (1.6 a 47 milhões de entradas) e cada linha grep está levando muito tempo. queria saber se há outra solução mais rápida que eu possa usar aqui. Basicamente, eu preciso ler o FILE-A para cada linha e fazê-lo no FILE-B.csv e criar uma saída resultante.

FILE-A: (1.6 million IDs)
FILE-B.csv: (47 million IDs & Other Attributes)

for UID in $(cat FILE-A); do
  cat FILE-B.csv | grep $i >> OUTPUT-FILE.csv
done
    
por Riz 31.08.2017 / 20:18

1 resposta

2

grep -F -f FILE-A FILE-B.csv

-f especifica o arquivo do qual obter padrões. -F especifica o padrão como uma string fixa, separada por novas linhas.

No que diz respeito ao seu pensamento original de código, canalizar cat para grep é um desperdício inútil de recursos. grep pode ler um arquivo diretamente.

    
por 31.08.2017 / 20:30