shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script-pt] comparar 2 arquivos gerando um terceiro com as coi


From: Julio C. Neves
Subject: Re: [shell-script-pt] comparar 2 arquivos gerando um terceiro com as coicidencias
Date: Tue, 6 Jul 2021 20:44:08 -0300

Grande China, saudades amigo... Com o comm seria o mais rápido, mas o Shell tem recurso que não acaba mais. O Casanova, que é muito bom de Shell, já te deu uma solução com loop de while, mas veja essa:

$ grep -f <(echo "^$(cut -f1 -d, ARQ2),") ARQ1

O grep -f ARQERs ARQUIVO pesquisa as ERs do arquivo ARQERs em ARQUIVO. A construção <(...) chama-se substituição de processos e ela faz com que o conteúdo dos parênteses seja vista como oriunda de um arquivo tipo named pipe. Me aproveitei disso para colocar um ^ no início e uma vírgula no final do nome, de forma que um Luis Carlos não case nem com Luis nem com Carlos.

Um testezinho:
$ cat > ARQ1
Julio,111
China,222
Tux,333
$ cat > ARQ2
GNU,444
Tux,555
BSD,666
$ grep -f <(echo "^$(cut -f1 -d, ARQ2),") ARQ1
Tux,333

SuShellso e abraços,
Julio
» Não tem tempo para fazer um curso presencial?
» Na sua cidade não tem nenhum bom curso de Linux?

Também damos treinamento em sua empresa
em qualquer cidadecom certificado e nota fiscal.








Em ter., 6 de jul. de 2021 às 19:22, China <chinabhz@gmail.com> escreveu:
Sou eu mesmo amigo Júlio!!

Eu cheguei a tentar o comm também, mas não consegui.


Em ter, 6 de jul de 2021 19:06, Julio C. Neves <julio.neves@gmail.com> escreveu:
Por acaso estou falando com o China, grande divulgador do Sw Livre e meu amigão?

China dá uma olhada na sintaxe do cmd comm. É a resposta imediata dos teus problemas.

Abraços,
Julio
» Não tem tempo para fazer um curso presencial?
» Na sua cidade não tem nenhum bom curso de Linux?

Também damos treinamento em sua empresa
em qualquer cidadecom certificado e nota fiscal.








Em ter., 6 de jul. de 2021 às 15:53, China <chinabhz@gmail.com> escreveu:
Colegas, tenho 2 arquivos csv com a seguinte estrutura:

file1.csv
Nome, email

file2.csv
nome, setor

O arquivo file1.csv contém 5.000 registros, enquanto o file2 contem 77
registros. O que eu preciso é comparar esses 2 arquivos e gerar um
terceiro somente com os e-mails dos nomes que coincidem nos 2
arquivos. ficaria:

file3.csv
nome, email

Tentei com o diff mas consegui apenas suprimir as linhas coincidentes,
gerando um arquivo com os nomes e emails que não se repetem. Tentei
com awk e sed mas faltou conhecimento para adaptar os exemplos que a
pesquisa google me trouxeram. Por isso peço ajuda de vocês.

--
Enviado de um dispositivo móvel

_______________________________________________
Lista brasileira de usuários de shell script
Endereço de e-mail da lista: shell-script-pt@nongnu.org
Para se inscrever ou desinscrever acesse: https://lists.nongnu.org/mailman/listinfo/shell-script-pt
Para ver os arquivos da lista (mensagens anteriores) e pesquisar nelas, acesse https://lists.nongnu.org/archive/html/shell-script-pt/

NOTA: A lista anterior, no Yahoo Groups, foi *desativada*. Por favor utilize somente esta.
_______________________________________________
Lista brasileira de usuários de shell script
Endereço de e-mail da lista: shell-script-pt@nongnu.org
Para se inscrever ou desinscrever acesse: https://lists.nongnu.org/mailman/listinfo/shell-script-pt
Para ver os arquivos da lista (mensagens anteriores) e pesquisar nelas, acesse https://lists.nongnu.org/archive/html/shell-script-pt/

NOTA: A lista anterior, no Yahoo Groups, foi *desativada*. Por favor utilize somente esta.
_______________________________________________
Lista brasileira de usuários de shell script
Endereço de e-mail da lista: shell-script-pt@nongnu.org
Para se inscrever ou desinscrever acesse: https://lists.nongnu.org/mailman/listinfo/shell-script-pt
Para ver os arquivos da lista (mensagens anteriores) e pesquisar nelas, acesse https://lists.nongnu.org/archive/html/shell-script-pt/

NOTA: A lista anterior, no Yahoo Groups, foi *desativada*. Por favor utilize somente esta.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]