O Linux fornece vários utilitários que você pode usar para processar arquivos de texto. Se você deseja remover dados duplicados ou classificar o conteúdo em um arquivo, as ferramentas de linha de comando do Linux têm tudo de que você precisa.
Este artigo demonstrará o comando sort e como você pode usá-lo para classificar o conteúdo dentro de um arquivo de texto e organizá-lo de acordo.
Qual é o comando sort?
Conforme mencionado acima, o comando sort ajuda o usuário a organizar o conteúdo de um arquivo de texto em uma ordem específica. Estão disponíveis várias opções que permitem classificar o arquivo de acordo com sua preferência. É um programa padrão do Linux que pode classificar um arquivo de texto em ordem alfabética, numérica, por coluna e mais, na ordem normal ou reversa.
Outras funcionalidades do comando incluem ignorar maiúsculas e minúsculas durante a classificação, classificação de um arquivo por mês, ignorar espaços em branco em um arquivo e classificação aleatória. Usando a classificação, você também pode verificar se um arquivo já está classificado ou não.
Como usar classificação no Linux
Embora a classificação contenha vários métodos e sinalizadores que você pode usar, continua sendo fácil de aprender.
Sintaxe Básica
A sintaxe básica do uso de classificação é:
classificar o nome do arquivo
...Onde nome do arquivo é o caminho absoluto ou relativo do arquivo de texto que você deseja classificar.
Por padrão, a classificação organizará o conteúdo de acordo com os seguintes critérios:
- As linhas que começam com caracteres numéricos têm a prioridade mais alta.
- O comando classificará as linhas em ordem alfabética, após classificar as linhas que começam com números.
- As linhas que começam com caracteres minúsculos precedem as linhas que começam com o mesmo caractere em maiúsculas.
Considere um arquivo de texto chamado textfile.txt contendo as seguintes informações:
Para classificar o arquivo usando a configuração padrão:
sort textfile.txt
Resultado:
Crie um novo arquivo de saída
O comando sort não modifica o conteúdo do arquivo. Ele simplesmente envia o conteúdo classificado para a saída padrão. No entanto, isso não significa que a classificação não possa criar um novo arquivo. Você pode usar o -o sinalizar para especificar o nome do arquivo classificado e classificar criará automaticamente o arquivo para você e adicionará o conteúdo.
sort -o arquivo ordenado nome do arquivo
...Onde arquivo classificado é o nome do arquivo de saída e nome do arquivo é o arquivo original que precisa ser classificado.
Ordenar textfile.txt e crie um novo arquivo de saída para o conteúdo:
sort -o Sort.txt textfile.txt
Resultado:
Classificar vários arquivos
Para classificar mais de um arquivo de uma vez, basta passar os nomes dos arquivos separados pelo Espaço personagem.
sort textfile.txt textfile2.txt
Resultado:
Observe que a classificação mesclará a saída dos arquivos e os exibirá juntos no terminal.
Classificação reversa de um arquivo
Se você quiser reverter a organização do conteúdo, use o -r sinalizar com o comando padrão. O -r no seguinte comando significa Marcha ré.
sort -r textfile.txt
Resultado:
Classificar um arquivo numericamente
Para classificar um arquivo contendo dados numéricos, use o -n sinalizar com o comando. Por padrão, a classificação organizará os dados em ordem crescente.
sort -n numbers.txt
Resultado:
Se você quiser classificar em ordem decrescente, inverta o arranjo usando o -r opção junto com o -n sinalizar no comando.
sort -rn numbers.txt
Resultado:
Ignorar maiúsculas e minúsculas ao classificar
Por padrão, a classificação leva em consideração as maiúsculas e minúsculas do conteúdo. As linhas que começam com caracteres minúsculos precedem as linhas que começam com a versão em maiúsculas do mesmo caractere. Por exemplo, "ele é um menino" precederá "Ele é um menino".
Se você deseja classificar para ignorar o caso do caractere, especifique o -f ou o --ignorar caso sinalizar da seguinte forma:
sort -f textfile.txt
sort --ignore-case textfile.txt
Resultado:
Classificar um arquivo com base no mês
Usando o -M, você pode modificar a ordem do conteúdo de um arquivo com base nos nomes dos meses.
sort -M textfile2.txt
Resultado:
Ignorar espaços em branco
Às vezes, o arquivo que você deseja classificar pode conter espaços ou tabulações. Para ignorar esses caracteres em branco, use o -b bandeira.
sort -b fileblanks.txt
Resultado:
Classificar um arquivo de acordo com uma coluna
Se você tiver um arquivo de texto com dados organizados em colunas separadas, poderá classificar o arquivo de acordo com o conteúdo de uma coluna. Tudo que você precisa fazer é passar o número da coluna junto com o -k bandeira.
Considere um arquivo de texto contendo informações do arquivo com colunas diferentes. Para classificar um arquivo chamado output.txt de acordo com a oitava coluna:
sort -k8 -rn output.txt
Resultado:
Classificação de tubos com outros comandos
Você pode até usar sort com outros comandos do Linux para modificar a organização da saída. Por exemplo, para classificar a saída de o comando ls de acordo com o tamanho dos arquivos:
ls -la | sort -k5 -rn
Resultado:
Classificar um arquivo aleatoriamente
Você pode usar o -R sinalize se você deseja randomizar a ordem das linhas em um arquivo de texto. Considere o arquivo textfile.txt:
sort -R textfile.txt
Resultado:
Classificar números de versão em um arquivo
Se você tiver um arquivo de texto contendo informações de versão associadas a um pacote, poderá classificar seu conteúdo usando o -V ou --version-sort bandeira.
sort -V version.txt
sort --version-sort version.txt
Resultado:
Verifique se um arquivo está classificado
O -c flag irá ajudá-lo a identificar os arquivos que já estão classificados de acordo com as opções especificadas. Se o conteúdo do arquivo estiver classificado corretamente, a classificação não exibirá nenhuma saída.
Para verificar se o arquivo textfile.txt está classificado:
sort -c textfile.txt
Agora, vamos classificar o arquivo e salvar sua saída em um novo arquivo chamado ordenado.txt. Ao emitir o seguinte comando:
sort -c Sort.txt
Resultado:
Você também pode especificar vários sinalizadores para verificar a organização do arquivo de acordo com critérios específicos. Por exemplo, para verificar se o arquivo numbers.txt é classificado em ordem decrescente:
sort -c -rn numbers.txt
Você verá uma saída informando que o arquivo não está classificado corretamente. Vamos classificar o arquivo e verificar se o novo arquivo passa no teste.
sort -o Sort.txt -rn numbers.txt
sort -c -rn Sort.txt
Resultado:
Classificar o arquivo e remover duplicatas
O arquivo com o qual você está trabalhando pode conter dados duplicados. Embora você possa usar o comando uniq para remover essas informações do arquivo, o sort pode executar essa tarefa para você. O -você ou --único bandeira é o que você precisa.
Considere um arquivo chamado duplicate.txt:
Para classificar o arquivo e remover os dados repetidos:
sort -u duplicate.txt
Resultado:
Você pode ver isso quando você usa o -você flag, sort exibe apenas linhas distintas e as organiza de acordo com os critérios especificados.
Trabalho com arquivos de texto no Linux
Embora o poder dos editores de texto de linha de comando seja incomparável, você ainda pode optar por um editor gráfico como o gedit para modificar o conteúdo de um arquivo de texto facilmente. Além disso, é a melhor escolha para quem é novo no Linux e não consegue lidar com o terminal.
A melhor maneira de começar com a linha de comando e com o Linux em geral é praticando os comandos básicos primeiro. Depois de cobrir os utilitários fundamentais, avançar gradualmente para comandos mais complexos é provavelmente a melhor abordagem.
Esta folha de dicas simples o ajudará a se familiarizar com o terminal de linha de comando do Linux em nenhum momento.
Leia a seguir
- Linux
- Gerenciamento de arquivos
- Linux
- Comandos Linux

Deepesh é o Editor Júnior para Linux na MUO. Ele escreve conteúdo informativo na internet há mais de 3 anos. Em seu tempo livre, ele gosta de escrever, ouvir música e tocar seu violão.
Assine a nossa newsletter
Junte-se ao nosso boletim informativo para dicas de tecnologia, análises, e-books grátis e ofertas exclusivas!
Mais um passo…!
Confirme o seu endereço de e-mail no e-mail que acabamos de enviar.