Removendo linhas duplicadas de um arquivo texto

Publicado por Alexandre de Jesus Marcolino em 08/10/2003

[ Hits: 36.633 ]

Blog: http://blog.marcolino.com.br/wordpress/

 


Removendo linhas duplicadas de um arquivo texto



Este comando me salvou a vida! Além de colocar um arquivo em ordem, removeu as linhas duplicadas:

$ sort arqtexto.txt | uniq >arqnovo.txt

Falou!

Outras dicas deste autor

Acerto do horário de verão no OpenSuSE Linux 11

Mantendo o relógio do servidor sempre acertado

Bootchart no OpenSuSE Linux

Colabore para encontrar a cura para a "Gripe Suína"

Rdesktop e o erro "Connection Reset by peer"

Leitura recomendada

Como verificar senha no shell script

Acompanhando o (bash) shell script - debug

Não esquecendo o root logado

Script para organizar janelas em cascata no KDE Plasma 6 (Wayland)

Windows e Samba com Desktop padronizado

  

Comentários
[1] Comentário enviado por andreviana em 07/12/2003 - 16:54h

Comando muito util para que trabalha com textos.

[2] Comentário enviado por mrosk8 em 25/02/2009 - 17:14h

Muito util, e me ajudou bastante.
Obrigado.

[3] Comentário enviado por sheriton em 18/11/2010 - 20:21h

Muito util mesmo, salvou minha vida!

Obrigado.

[4] Comentário enviado por valmirsantos em 05/06/2012 - 10:40h

Acabou de me poupar um belíssimo tempo agora... muito obrigado!

[5] Comentário enviado por ferrarezux em 12/06/2012 - 12:43h

Comigo só o 'uniq' só funciona se usar o 'sort' antes, mas era isso mesmo que eu precisava.

[6] Comentário enviado por crsouza em 20/01/2014 - 10:04h

Olá,

Preciso remover linhas dupicadas em um shell script, mas estas linhas não são totalmente iguais.

segue oma demostração.

35647/111 AZEITONA PRETA CA CXA 6X2KG 117,00 19,50
35647/900 AZEITONA PRETA CA UND 1X2KG 19,50 19,50
35648/171 AZEITONA PRETA CA CXA 6X2KG 159,00 26,50
35648/959 AZEITONA PRETA CA UND 1X2KG 26,50 26,50
35642/114 AZEITONA VERDE CA CXA 6X2KG 90,60 15,10
35647/111 AZEITONA PRETA CA CXA 6X2KG 117,00 19,50
35647/900 AZEITONA PRETA CA UND 1X2KG 19,50 19,50

Eu teria que remover estas que estão com o final do código 9xx.após a barra

Ou seja no caso da primeira linha, eu gostaria de excluir a segunda, e assim por diante.
Tenho que manter no arquivo somente os produtos de caixas, ou código códigos 1xx, pós barra.

Sei que este comando abaixo, eu consigo classificar e remover as linhas duplicadas, porem só funciona se ela for realmente iguais.
( cat arquivao | sort | uniq > arquivao1)
E a minhas não são.
Será que tem um comando para tratar nos primeiros numeros antes da barra?



Contribuir com comentário