Guia do Linux/Iniciante+Intermediário/Comandos diversos/sort
sort
editarOrganiza 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 arquivotexto.txt
em ordem crescente. - sort
texto.txt
-r - Organiza o conteúdo do arquivotexto.txt
em ordem decrescente. - cat
texto.txt
|sort - Faz a mesma coisa que o primeiro exemplo, só que neste caso a saída do comandocat
é redirecionado a entrada padrão do comandosort
. - 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.