Remover Linhas repetidas

1. Remover Linhas repetidas

WlayOSan
Wesllay

(usa CentOS)

Enviado em 02/06/2008 - 08:40h

Salve comunidade, gostaria de saber se há uma forma de remover linhas retidas de uma lista, exemplo, tenho um cadastro de newsletter em meu site, mas não tem validação de e-mail já cadastrados, de alguma forma alguns usuários acabem inserindo seu e-mail mais de uma vez nesta lista, e eu gostaria de um script para remover estas linhas com cadastros repetidos. Obrigado


  


2. Tente esse:

Sandro Marcell
SMarcell

(usa Slackware)

Enviado em 02/06/2008 - 08:58h

cat arquivo | sort | uniq -u > saída.txt

Onde:

cat: Abre o arquivo
sort: Ordena seqüencialmelte as linhas duplicadas
uniq: Com a opção '-u' suprime as linhas duplicadas

Ex.:
$ cat arquivo
linha a
linha b
linha a
linha c
linha d
linha c

$ cat arquivo | sort | uniq -u > saida.txt

$ cat saida.txt
linha a
linha b
linha c
linha d


3. não deu certo

WlayOSan
Wesllay

(usa CentOS)

Enviado em 04/06/2008 - 12:05h

ola caro amigo, já havia testado este comando antes o meus não havia dado certo, não sei qual o motivo mas o comando não deu certo.


4. Re: Remover Linhas repetidas

Sandro Marcell
SMarcell

(usa Slackware)

Enviado em 08/06/2008 - 16:51h

Poderia postar um exemplo desse arquivo de cadastro?


5. certa

Juliao Junior
juliaojunior

(usa Debian)

Enviado em 08/06/2008 - 17:01h

a dica do SMarcell está certa! deveria ter funcionado.


6. Re: Remover Linhas repetidas

laurence andrews ottoboni
laurence123

(usa Ubuntu)

Enviado em 25/08/2014 - 13:54h

Esse comando ai não da certo nao MArcell, ao inves de ele excluir o que repete, ele exclui tudo e só deixa a salvo aquilo que nunca se repetil, ou seja, se eu tenho duas linhas com o mesmo conteudo ele acaba excluindo as duas (lol)..
e agora??? teriam uma idéia de como contornar isso?
obrigado..




7. Re: Remover Linhas repetidas

Luís Fernando C. Cavalheiro
lcavalheiro

(usa Slackware)

Enviado em 25/08/2014 - 14:29h

laurence123 escreveu:

Esse comando ai não da certo nao MArcell, ao inves de ele excluir o que repete, ele exclui tudo e só deixa a salvo aquilo que nunca se repetil, ou seja, se eu tenho duas linhas com o mesmo conteudo ele acaba excluindo as duas (lol)..
e agora??? teriam uma idéia de como contornar isso?
obrigado..



Tenta tirar o parâmetro -u do uniq


8. Re: Remover Linhas repetidas

laurence andrews ottoboni
laurence123

(usa Ubuntu)

Enviado em 26/08/2014 - 12:26h

lcavalheiro escreveu:

laurence123 escreveu:

Esse comando ai não da certo nao MArcell, ao inves de ele excluir o que repete, ele exclui tudo e só deixa a salvo aquilo que nunca se repetil, ou seja, se eu tenho duas linhas com o mesmo conteudo ele acaba excluindo as duas (lol)..
e agora??? teriam uma idéia de como contornar isso?
obrigado..



Tenta tirar o parâmetro -u do uniq


exatamente!
Ja tinha feito isso ontem, mesmo assim brigadão


9. Re: Remover Linhas repetidas

Luís Fernando C. Cavalheiro
lcavalheiro

(usa Slackware)

Enviado em 26/08/2014 - 12:27h

laurence123 escreveu:

lcavalheiro escreveu:

laurence123 escreveu:

Esse comando ai não da certo nao MArcell, ao inves de ele excluir o que repete, ele exclui tudo e só deixa a salvo aquilo que nunca se repetil, ou seja, se eu tenho duas linhas com o mesmo conteudo ele acaba excluindo as duas (lol)..
e agora??? teriam uma idéia de como contornar isso?
obrigado..



Tenta tirar o parâmetro -u do uniq


exatamente!
Ja tinha feito isso ontem, mesmo assim brigadão


Funcionou, beleza. Meus parabéns por pesquisar antes de perguntar, já que você desenterrou um tópico de 2008 que não havia sido satisfatoriamente resolvido na época.


10. Re: Remover Linhas repetidas

Heitor Costa
Heitor.rj

(usa Slackware)

Enviado em 16/07/2017 - 02:35h

SMarcell escreveu:
$ cat arquivo | sort | uniq -u > saída.txt
Onde:
cat: Abre o arquivo
sort: Ordena seqüencialmelte as linhas duplicadas
uniq: Com a opção '-u' suprime as linhas duplicadas

O comando acima além de estar ERRADO, tem coisas demais.
É desnecessário o cat e não deve ser usado a opção -u
Use assim:
sort arquivo.txt | uniq > saida.txt 

Ou AINDA MELHOR assim:
sort -u arquivo.txt -o saida.txt 







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts