Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: PCLinuxOS 2012 LXDE
Por pinduvoz
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha


Dica

Removendo linhas duplicadas não-consecutivas
Linux user
Publicado por Sandro Marcell em 20/10/2009

Login: SMarcell, 580177 pontos | Blog: http://my.opera.com/smarcell/blog/
[ Hits: 3629 ]

Removendo linhas duplicadas não-consecutivas

Geralmente utilizo o comando sort para remover linhas duplicadas de um arquivo:

$ sort -o output -u input

O problema era que em alguns casos as linhas não poderiam ser ordenadas, mas o sort (obviamente!) as ordenava. Então acabei resolvendo o meu problema assim:

$ perl -ne '$i{"$_"}++ || print' < input > output

O mesmo pode ser obtido via awk:

$ awk '!i[$0]++' < input > output

Ou:

$ awk '!($0 in i) {i[$0] ; print}' < input > output

Sendo "input" o arquivo de entrada e "output" o de saída.

Falou! ;)


Outras dicas deste autor

Leitura recomendada
   Dica Linux recomendada Verificar o tempo de execução de um comando
   Dica Linux recomendada Dividindo arquivos em partes
   Dica Linux recomendada Solicitar a alteração de senha no primeiro login - Samba
   Dica Linux recomendada Criando pastas em massa rapidamente no Linux
   Dica Linux recomendada Matando todos os processos de um usuário

Comentários
Nenhum comentário foi encontrado.

Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.