Como classificar arquivos de texto no Linux usando o comando sort

Como classificar arquivos de texto no Linux usando o comando sort

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 é:

sort filename

...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:

  1. As linhas que começam com caracteres numéricos têm a prioridade mais alta.
  2. O comando classificará as linhas em ordem alfabética, após classificar as linhas que começam com números.
  3. 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

Saída:

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 o sort não possa criar um novo arquivo. Você pode usar o -ou sinalizar para especificar o nome do arquivo classificado e classificar criará automaticamente o arquivo para você e adicionará o conteúdo.

como inserir linhas na palavra
sort -o sortedfile filename

...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 sorted.txt textfile.txt

Saída:

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

Saída:

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 Reverter .

sort -r textfile.txt

Saída:

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

Saída:

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

Saída:

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

Saída:

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

Saída:

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

Saída:

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 -para 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:

como deletar o perfil do xbox 360
sort -k8 -rn output.txt

Saída:

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

Saída:

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

Saída:

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.

o youtube conta como mídia social
sort -V version.txt
sort --version-sort version.txt

Saída:

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 sorted.txt

Saída:

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 sorted.txt -rn numbers.txt
sort -c -rn sorted.txt

Saída:

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 --exclusivo bandeira é o que você precisa.

Considere um arquivo chamado duplicate.txt :

Para classificar o arquivo e remover os dados repetidos:

sort -u duplicate.txt

Saída:

Você pode ver isso quando você usa o -você sinalizar, classificar 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.

Compartilhado Compartilhado Tweet O email A folha de referências de comandos do Linux

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
Tópicos relacionados
  • Linux
  • Gerenciamento de arquivos
  • Linux
  • Comandos Linux
Sobre o autor Deepesh Sharma(79 artigos publicados)

Deepesh é o Editor Júnior para Linux na MUO. Ele escreve guias informativos sobre o Linux, com o objetivo de fornecer uma experiência agradável a todos os recém-chegados. Não tenho certeza sobre filmes, mas se você quiser falar sobre tecnologia, ele é o cara. Em seu tempo livre, você pode encontrá-lo lendo livros, ouvindo diferentes gêneros musicais ou tocando seu violão.

Mais de Deepesh Sharma

Assine a nossa newsletter

Junte-se ao nosso boletim informativo para dicas de tecnologia, análises, e-books grátis e ofertas exclusivas!

Clique aqui para se inscrever