Saltar para o conteúdo

Guia do Linux/Iniciante+Intermediário/Comandos diversos/sort

Origem: Wikilivros, livros abertos por um mundo aberto.

Organiza as linhas de um arquivo texto ou da entrada padrão. A organização é feita por linhas e as linhas são divididas em campos que é a ordem que as palavras aparecem na linha separadas por um delimitador (normalmente um espaço).

sort [opções] [arquivo]

Onde:

arquivo
É o nome do arquivo que será organizado. Caso não for especificado, será usado o dispositivo de entrada padrão (normalmente o teclado ou um "|").
opções
-b
Ignora linhas em branco.
-d
Somente usa letras, dí­gitos e espaços durante a organização.
-f
Ignora a diferença entre maiúsculas e minúsculas.
-r
Inverte o resultado da comparação.
-n
Caso estiver organizando um campo que contém números, os números serão organizados na ordem aritmética. Por exemplo, se você tiver um arquivo com os números
     100
     10
     50

Usando a opção -n, o arquivo será organizado desta maneira:

     10
     50
     100

Caso esta opção não for usada com o sort, ele organizará como uma listagem alfabética (que começam de a até z e do 0 até 9)

     10
     100
     50
-c
Verifica se o arquivo já esta organizado. Caso não estiver, retorna a mensagem "disorder on arquivo".
-o arquivo
Grava a saí­da do comando sort no arquivo.
-m arquivo1 arquivo2
Combina o conteúdo de arquivo1 e arquivo2 gerando um único arquivo. Os dois arquivos precisam estar ordenados antes de se utilizar esta opção.
-i
Ignora os caracteres fora da faixa octal ASCII 040-0176 durante a organização.
-t caracter
Usa caracter como delimitador durante a organização de linhas. Por padrão é usado um espaço em branco como delimitador de caracteres.
num1 -num2
Especifica qual o campo dentro na linha que será usado na organização. O(s) campo(s) usado(s) para organização estará entre num1 e num2. O delimitador padrão utilizado é um espaço em branco (use a opção -t para especificar outro). A contagem é iniciada em "0". Caso não for especificada, a organização é feita no primeiro campo. Caso -num2 não seja especificado, a organização será feita usando a coluna num1 até o fim da linha.
-k num1, num2
Esta é uma alternativa ao método acima para especificar as chaves de organização. O uso é idêntico, mas o delimitador é iniciado em "1".

Abaixo, exemplos de uso do comando sort:

  • sort texto.txt - Organiza o arquivo texto.txt em ordem crescente.
  • sort texto.txt -r - Organiza o conteúdo do arquivo texto.txt em ordem decrescente.
  • cat texto.txt|sort - Faz a mesma coisa que o primeiro exemplo, só que neste caso a saí­da do comando cat é redirecionado a entrada padrão do comando sort.
  • sort -f texto.txt - Ignora diferenças entre letras maiúsculas e minúsculas durante a organização.
  • sort 1 -3 texto.txt - Organiza o arquivo texto.txt usando como referência a segunda até a quarta palavra (segundo ao quarto campo) que constam naquela linha.
  • sort -t : 2 -3 passwd - Organiza o arquivo passwd usando como referência a terceira até a quarta palavra (terceiro ao quarto campo). Note que a opção -t especifica o caracter ":" como delimitador de campos ao invés do espaço. Neste caso, o que estiver após ":" será considerado o próximo campo.