http://www.zago.eti.br/sort.txt FAQ e dicas com uso do sort pra ordenar arquivos, textos ou palavras. Use CTRL+F para refinar a pesquisa. Linha de: **************** separa mensagens ou tópicos. ******************************************************** Zago http://www.zago.eti.br/menu.html FAQ e artigos sobre Linux Sobre o uso do sort com outras ferramentas pra uso na linha de comando, expressões regulares, shell script, modelos de scripts e etc... veja em: http://www.zago.eti.br/script/A-menu-scripts.html Veja o manual do sort: man sort Algumas sugestões de pesquisa no Google: Re: sort ~linux sort ~linux how to sort ~linux Não entendeu porque está em ingles? então use o próprio google pra traduzir a página, copie a URL atual, vá pro final da página, clique em "Ferramentas de idiomas", cole o endereço, clique em "traduzir", ou cole em outra abra do navegador a URL que deseja traduzir (CTRL+T), ou acesse diretamente o tradutor em: http://translate.google.com/translate_t ******************************************************** Sempre que modificar um arquivo procure salvar as modificações em outro arquivo pra manter o original intacto, por exemplo: cat arqoriginal.txt | sort > arqordernado.txt Desta forma o arqoriginal.txt não é modificado e voce pode tentar outras variações do comandos até acertar, pode dar nomes de destino diferente pra depois comparar os resultados. Pra preservar o arquivo original e evitar outros problemas, nunca faça isto: cat arqoriginal.txt | sort > arqoriginal.txt Alguns exemplos de uso do sort no arqoriginal.txt cat arqoriginal.txt 02 34 11 65 28 zago teste 93 33 Em ordem crescente (default) cat arqoriginal.txt | sort > arqordernado.txt cat arqordernado.txt 02 11 28 33 34 65 93 teste zago Em ordem crescente com -g cat arqoriginal.txt | sort -g > arqordernado1.txt cat arqordernado1.txt teste zago 02 11 28 33 34 65 93 Invertendo a ordem com -r cat arqoriginal.txt | sort -r > arqordernado2.txt cat arqordernado2.txt zago teste 93 65 34 33 28 11 02 Uso do sort pra ordenar o resultado do comando ls. resultado de ls em ordem alfabetica decrescente -r inverte a seleção: ls | sort -r Pra listar os arquivos em ordem crescente pelo tamanho: ls -la | sort -nk 5 pra listar em ordem decrescente pelo tamanho do maior para o menor: ls -la | sort -rnk 5 Aplicando filtros com grep ls -la | sort -nk 5 | grep -v txt O próprio ls tem recursos pra ordenar a listagem, por exemplo por odem de data use a diretiva: -t Ordena a exibição pelo rótulo de tempo Pra inverter a ordenação: -r Inverte a ordem do ordenação. veja os resultados de: ls -lat ls -lart em ordem alfabetica, veja os resultados de: ls -la ls -lar ******************************************************** O comando sort (1) --------------------------------------------------------------------- O comando sort, tambem oferece inumeras facilidades interessantes. Tomemos o arquivo abaixo como exemplo: arq1 1:2:3:4:5:6 1:1:3:4:5:6 1:4:3:4:5:6 1:2:3:4:5:6 1:0:3:4:5:6 1:2:3:4:5:6 1:7:3:4:5:6 1:2:3:4:5:6 1:0:3:4:5:6 1:9:3:4:5:6 O comando abaixo % sort -t: +1 -n arq1 ira gerar a seguinte saida | v 1:0:3:4:5:6 1:0:3:4:5:6 1:1:3:4:5:6 1:2:3:4:5:6 1:2:3:4:5:6 1:2:3:4:5:6 1:2:3:4:5:6 1:4:3:4:5:6 1:7:3:4:5:6 Observar que o segundo campo, indicado pela seta, esta ordenado numericamente em ordem crescente. Os campos deste arquivo sao separados por ":". O tipo de separador e indicado pela flag "-t:". Em seguida a flag "-t" poderiamos indicar qualquer tipo de separador. O campo a ser ordenado e indicado pela flag "+1". Para o comando sort a contagem dos campos inicia-se por 0, desta forma, o valor "+1" ira indicar na realidade o segundo campo do arquivo. A ordenacao tambem pode ser feita numericamente, do maior para o menor valor: % sort -t: +1 -nr arq1 | v 1:9:3:4:5:6 1:7:3:4:5:6 1:4:3:4:5:6 1:2:3:4:5:6 1:2:3:4:5:6 1:2:3:4:5:6 1:2:3:4:5:6 1:1:3:4:5:6 1:0:3:4:5:6 1:0:3:4:5:6 ------------------------------------------------- *********************************************************** O comando sort (2) --------------------------------------------------------------------- O comando sort, na sua forma mais simples, serve para ordenar o conteudo de um arquivo. Tomemos o arquivo: arq1 x a h j k O comando abaixo, executado sobre o arquivo arq1, ira gerar a saida exibida abaixo: % sort arq1 a h j k x Alem desta funcao, o comando sort tambem pode ser utilizado para combinar dois arquivos diferentes. Os arquivos sobre os quais o comando sort ira atuar ja devem ter sido previamente ordenados: arq1 aa yy arq2 bb zz O comando % sort -m arq1 arq2 ira exibir na tela aa bb yy zz A saida do comando sort, em todos os exemplos apresentados, tem sido redirecionada para a tela. Caso queiramos redirecionar esta saida para um arquivo para processamento posterior, temos duas opcoes equivalentes: % sort arq1 arq2 > arq3 ou % sort arq1 arq2 -o arq3 ----------------------------------------- *********************************************************** O comando sort (3) --------------------------------------------------------------------- Uma outra caracteristica interessante do comando sort e a possibilidade de fazer as comparacoes sobre os argumentos convertidos para minusculas (flag -f). Tomemos os arquivos arq1 e arq2: arq1 AA XX arq2 bb kk O comando sort abaixo % sort arq1 arq2 AA XX bb kk ira gerar uma saida onde a ordenacao sera feita primeiramente sobre as letras maiusculas e em seguida as minusculas, ou seja, A-Z e em seguida a-z. Ja o comando abaixo % sort -f arq1 arq2 AA bb kk XX ira realizar a ordenacao dos arquivos independentemente das palavras estarem grafadas em maiusculas ou minusculas. ------------------------- *********************************************************** O comando sort (4) --------------------------------------------------------------------- O comando sort pode tambem ser utilizado para ordenar arquivos removendo eventuais linhas duplicadas. Tomemos o arquivo arq1: arq1 joao maria jose maria joao heitor O comando % sort -u arq1 ira gerar a saida abaixo heitor joao jose maria A diretiva "-u" fez com que a saida gerada contivesse apenas uma ocorrencia de cada uma das linhas. ------------------------------------------------ *********************************************************** De: Piter Punk Para: "Otávio A. L. Fernandes" Cc: linux-br@bazar.conectiva.com.br Assunto: Re: (linux-br) sort em um arquivo Data: 08 Oct 2002 10:49:24 -0300 Otávio A. L. Fernandes wrote: e ai pessoal, quando eu dou um sort em um arquivo ele apenas exibe em ordem alfabética, tem algum comando que organize este arquivo, mas não só na hora de exibir, mas sim na sua estrutura. Obrigado. Acho que é isso que você quer... sort arquivo > novoarquivo Falous, Piter PUNK -- *********************************************************** De: Andreas Hasenack Para: rbonilho Cc: linux-br Assunto: Re: (linux-br) Dúvida Snort Data: 21 Jan 2003 16:06:02 -0200 Em Tue, Jan 21, 2003 at 11:53:33AM -0200, rbonilho escreveu: > Estou precisando configurar o snort e estou tendo problemas > com a linha var $HTTP_PORTS 80 que vem como padrão, mas > gostaria de acrescentar a 443 e 8080 que utilizo tb. O snort não aceita portas não consecutivas... :( *********************************************************** De:  Dicas-L-Owner@unicamp.br Assunto:  [Dicas-L] Sort, dd e outros mais Data:  Thu, 1 Jul 2004 02:50:02 -0300 -------------------------------------------------------------------- Comente esta dica em http://www.Dicas-l.com.br/dicas-l/20040701.php --------------------------------------------------------------------           Treinamento PostgreSQL: Introdução ao Banco de Dados            *** 10% de desconto para assinantes da Dicas-L ***                    Dextra Sistemas - 05 e 06 de julho        http://www.dextra.com.br/servicos/treinamento/pg/pgintro.htm -------------------------------------------------------------------------   Sort, dd e outros mais   ====================== Suponhamos que eu tenha um arquivo chamado 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@acme.com.br e maria@acme.com.br representam exatamente a mesma coisa. Sendo assim, gostaria de eliminá-los de minha lista. Para isto:   % cat nomes.txt | dd conv=lcase | 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:   % cat nomes.txt | sort -fu   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.   $ cat nomes.txt | sort -u   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 -------------------------------------------------------------------- As mensagens da lista Dicas-L são veiculadas diariamente para 25152 assinantes.        Todas as mensagens da Dicas-L ficam armazenadas em                http://www.Dicas-l.com.br. A redistribuição desta e outras mensagens da lista Dicas-L pode ser feita livremente, deste que o conteúdo, inclusive esta nota, não sejam modificados. --------------------------------------------------------------- *********************************************************** ***********************************************************