De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Rubens Queiroz de Almeida
Data de Publicação: 01 de Julho de 2004
Tomemos um arquivo de nome nomes.txt
com o seguinte
conteúdo:
mAria@acme.com.br maria@acme.com.br Rubens@acme.com.br Maria@acme.com.br rubens@acme.com.br sonia@acme.com.br Sonia@acme.com.br
Eu estou interessado apenas nos endereços eletrônicos únicos. Para efeito de envio de mensagens, endereços como <mAria (a) acme com br> e <maria (a) acme com br> representam exatamente a mesma coisa. Sendo assim, gostaria de eliminá-los de minha lista.
Para isto:
$ dd conv=lcase if=nomes.txt | sort -u
0+1 registros de entrada
0+1 registros de saída
128 bytes transferred in 0,001221 seconds (104838 bytes/sec)
maria@acme.com.br
rubens@acme.com.br
sonia@acme.com.br
Pronto, fico agora com apenas três nomes únicos.
Era assim que eu sempre fiz, por muitos anos. Entretanto, lendo a documentação do programa sort, descobri que estava tomando o caminho mais longo. Vejamos outra forma de se fazer isto:
$ sort -fu nomes.txt
mAria@acme.com.br
Rubens@acme.com.br
sonia@acme.com.br
O comando sort
possui a opção -f
que o instrui a ignorar a caixa
das letras e considerar nomes como mAria
e maria
como sendo a mesma
coisa. Obtemos o mesmo resultado final, três nomes, porém com a grafia
inalterada.
Caso não especifiquemos a flag -f
o sort irá exibir todos os nomes do
arquivo original ordenados, sem eliminar as duplicatas.
$ sort -u nomes.txt
maria@acme.com.br
mAria@acme.com.br
Maria@acme.com.br
rubens@acme.com.br
Rubens@acme.com.br
sonia@acme.com.br
Sonia@acme.com.br
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários