Comando sort no Linux (ordenar dados) [Guia Básico]
Linuxcomandos
O comando sort no Linux ordena as linhas de um arquivo. Depois de ordenado, um arquivo pode ser trabalhado por outros comandos, como por exemplo, tirar ocorrências duplicadas com o comando uniq.
Suas opções são:
- -b: Ignora espaços no início da linha;
- -d: Coloca as linhas em ordem alfabética e ignora a pontuação;
- -f: Ignora a diferença entre maiúsculas e minúsculas;
- -I: Ignora caracteres de controle;
- -h: ordenar em formato humano
- -m: Mescla dois ou mais arquivos em um arquivo ordenado de saída;
- -M: Trata as três primeiras letras das linhas como mês (ex: JAN);
- -n: Ordena pelos números no início das linhas;
- -r: Ordena em ordem inversa;
- -u: Se a linha for duplicada, mostra somente a primeira;
- -o: Envia a saída do comando para o arquivo.
Como exemplo, vamos ordenar um arquivo de emails:
$ sort emails
alessandra@empresa.comarthur@empresa.comcarla@empresa.comdemetrios@empresa.comflavia@empresa.compaulo@empresa.comroot@empresa.comuira@empresa.com
Um cuidado deve ser tomado ao ordenar números. Veja o exemplo do arquivo desordenado abaixo:
$ cat numeros 330404331191
Ao usar o sort sem nenhum parâmetro, ele ordena primeiro usando o primeiro byte, depois o segundo:
$ sort numeros 119331330440
Para ordenar usando os números como caracter, você pode usar a opção -n, ou a opção -h para ordenar em formato humano:
$ sort -n numeros 134193140330
Aprenda muito mais sobre Linux em nosso curso online. Você pode efetuar a matrícula aqui. Se você já tem uma conta, ou quer criar uma, basta entrar ou criar seu usuário aqui.