Ajuda - Comparar coluna de 2 arquivos e inserir em outro arquivo [RESOLVIDO]

1. Ajuda - Comparar coluna de 2 arquivos e inserir em outro arquivo [RESOLVIDO]

Daniel
dmoliveira

(usa Red Hat)

Enviado em 11/04/2024 - 11:32h

Pessoal, bom dia, tudo bem?
Por favor, preciso de uma ajuda.

Tenho o arquivo 1.txt, onde a coluna de numero 6 é o numero da nota fiscal

403|01|S|5093874500| 2|179185| 1|2024-04-05|2024-04-05|C|4310576|0001|00|C|3079889|0001|23|
403|01|S|5093874500| 2|179186| 1|2024-04-05|2024-04-05|C|1095315|0001|84|C|3079889|0001|23|
403|01|S|5093874500| 2|179187| 1|2024-04-05|2024-04-05|C|0098669|0001|08|C|3079889|0001|23|


e o arquivo 2.txt, onde a coluna 6 tambem é o numero da nota fiscal, porém o arquivo 2.txt tem os itens da nota fiscal

404|01|S|509387450001| 2|179185|1|51070|
404|01|S|509387450001| 2|179185|2|51605|
404|01|S|509387450001| 2|179185|3|53033|
404|01|S|509387450001| 2|179185|4|63023|
404|01|S|509387450001| 2|179185|5|64008|
404|01|S|509387450001| 2|179185|6|64021|
404|01|S|509387450001| 2|179186|1|51560|
404|01|S|509387450001| 2|179186|2|51561|
404|01|S|509387450001| 2|179186|3|52003|
404|01|S|509387450001| 2|179186|4|52008|
404|01|S|509387450001| 2|179186|5|83004|
404|01|S|509387450001| 2|179186|6|83005|
404|01|S|509387450001| 2|179186|7|83006|
404|01|S|509387450001| 2|179187|1|12018|
404|01|S|509387450001| 2|179187|2|12022|
404|01|S|509387450001| 2|179187|3|51561|
404|01|S|509387450001| 2|179187|4|51562|
404|01|S|509387450001| 2|179187|5|51605|
404|01|S|509387450001| 2|179187|6|51606|
404|01|S|509387450001| 2|179187|7|52186|
404|01|S|509387450001| 2|179187|8|53019|
404|01|S|509387450001| 2|179187|9|53033|
404|01|S|509387450001| 2|179187|10|61044|
404|01|S|509387450001| 2|179187|11|83004|
404|01|S|509387450001| 2|179187|12|83005|
404|01|S|509387450001| 2|179187|13|83006|


existe alguma forma de com base nestes 2 arquivos, criar um terceiro .txt que fique desta forma?

403|01|S|5093874500| 2|179185| 1|2024-04-05|2024-04-05|C|4310576|0001|00|C|3079889|0001|23|
404|01|S|509387450001| 2|179185|1|51070|
404|01|S|509387450001| 2|179185|2|51605|
404|01|S|509387450001| 2|179185|3|53033|
404|01|S|509387450001| 2|179185|4|63023|
404|01|S|509387450001| 2|179185|5|64008|
404|01|S|509387450001| 2|179185|6|64021|
403|01|S|5093874500| 2|179186| 1|2024-04-05|2024-04-05|C|1095315|0001|84|C|3079889|0001|23|
404|01|S|509387450001| 2|179186|1|51560|
404|01|S|509387450001| 2|179186|2|51561|
404|01|S|509387450001| 2|179186|3|52003|
404|01|S|509387450001| 2|179186|4|52008|
404|01|S|509387450001| 2|179186|5|83004|
404|01|S|509387450001| 2|179186|6|83005|
404|01|S|509387450001| 2|179186|7|83006|
403|01|S|5093874500| 2|179187| 1|2024-04-05|2024-04-05|C|0098669|0001|08|C|3079889|0001|23|
404|01|S|509387450001| 2|179187|1|12018|
404|01|S|509387450001| 2|179187|2|12022|
404|01|S|509387450001| 2|179187|3|51561|
404|01|S|509387450001| 2|179187|4|51562|
404|01|S|509387450001| 2|179187|5|51605|
404|01|S|509387450001| 2|179187|6|51606|
404|01|S|509387450001| 2|179187|7|52186|
404|01|S|509387450001| 2|179187|8|53019|
404|01|S|509387450001| 2|179187|9|53033|
404|01|S|509387450001| 2|179187|10|61044
404|01|S|509387450001| 2|179187|11|83004
404|01|S|509387450001| 2|179187|12|83005
404|01|S|509387450001| 2|179187|13|83006


muito obrigado


  


2. MELHOR RESPOSTA

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 11/04/2024 - 12:20h




una os dois arquivos, depois use o "sort" para coluna 6 e 1 ou 6 e 4.
cat arquivo1.txt arquivo2.txt | sort -k6,6 -k4,4 > arquivo3.txt 


------------------------------------------------------| Linux User #621728 |------------------------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------------------| Linux User #621728 |------------------------------------------------------



3. Re: Ajuda - Comparar coluna de 2 arquivos e inserir em outro arquivo [RESOLVIDO]

aguamole
aguamole

(usa KUbuntu)

Enviado em 11/04/2024 - 12:48h

Isso?
$ cat ./1.txt ./2.txt | tee 3.txt


4. Re: Ajuda - Comparar coluna de 2 arquivos e inserir em outro arquivo [RESOLVIDO]

Daniel
dmoliveira

(usa Red Hat)

Enviado em 11/04/2024 - 13:11h


Mauriciodez escreveu:




una os dois arquivos, depois use o "sort" para coluna 6 e 1 ou 6 e 4.
cat arquivo1.txt arquivo2.txt | sort -k6,6 -k4,4 > arquivo3.txt 


------------------------------------------------------| Linux User #621728 |------------------------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------------------| Linux User #621728 |------------------------------------------------------



Mauricio, boa tarde.
primeiramente agradeço pelo retorno.
Não funcionou exatamente com o comando acima, mas ele parece resolver meu problema, poderia me ajudar a refinar um pouco mais o código?

Teria como eu ordernar primeiro pelo primeiro campo? ou seja, primeiro sempre vai ordenar 403 e 404, e depois ordenar pelo numero da nota?
ou seja ficaria sempre:
403 | 123456
404 | 123456 | item1
404 | 123456 | item2
403 | 789101 |
404 | 789101 | item1
404 | 789101 | item2




5. Re: Ajuda - Comparar coluna de 2 arquivos e inserir em outro arquivo [RESOLVIDO]

Daniel
dmoliveira

(usa Red Hat)

Enviado em 11/04/2024 - 13:14h


aguamole escreveu:

Isso?
$ cat ./1.txt ./2.txt | tee 3.txt


Boa tarde. primeiramente obrigado, mas não seria o comando correto, precisaria vir ordenado conforme respondi na mensagem acima :(


6. Re: Ajuda - Comparar coluna de 2 arquivos e inserir em outro arquivo [RESOLVIDO]

Daniel
dmoliveira

(usa Red Hat)

Enviado em 11/04/2024 - 13:22h


@Mauricio, descobri que os problemas são os pipes |, será que tem como o comando sort saber que o pipe é a divisão da coluna?
Olha as 2 imagens que mandei, uma com o arquivo sem pipe e deu certo, e outra com pipe que não ordenou



7. Re: Ajuda - Comparar coluna de 2 arquivos e inserir em outro arquivo [RESOLVIDO]

Daniel
dmoliveira

(usa Red Hat)

Enviado em 11/04/2024 - 13:28h


Caramba, acho que deu certo aqui

cat 1.txt 2.txt | sort --field-separator='|' -k2 -k1


Vou testar com os arquivos corretos e ja retorno no forum


8. Re: Ajuda - Comparar coluna de 2 arquivos e inserir em outro arquivo [RESOLVIDO]

Daniel
dmoliveira

(usa Red Hat)

Enviado em 11/04/2024 - 13:31h


Cara deu certo, não sei nem como agradecer!!!!
Deus abençoe, valeuuuuuuuuu

Comando final

cat arquivo1.txt arquivo2.txt | sort --field-separator='|' -k6 -k1 > arquivo3.txt







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts