Pular para o conteúdo

Remover Linhas repetidas

Responder tópico
  • Denunciar
  • Indicar

1. Remover Linhas repetidas

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

Responder tópico

2. Tente esse:

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

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

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

Poderia postar um exemplo desse arquivo de cadastro?

5. certa

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

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

6. Re: Remover Linhas repetidas

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

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

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

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

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 

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder