5 exemplos interessantes de comandos de ‘classificação’ do Linux
Se você é um usuário Linux, provavelmente está familiarizado com a interface de linha de comando (CLI). CLI oferece ferramentas poderosas para executar tarefas complexas com rapidez e eficiência. Uma das ferramentas CLI mais úteis é o comando 'sort'. O comando 'classificar' permite classificar linhas de texto em ordem alfabética ou numérica e oferece uma variedade de opções que podem facilitar sua vida. Neste artigo, exploraremos cinco exemplos interessantes de comandos de 'classificação' do Linux.
Classificar por valores numéricos
O comando 'sort' pode ser usado para classificar os dados em ordem numérica. Isto é útil ao lidar com conjuntos de dados que incluem valores numéricos. Para classificar por valores numéricos, use a opção '-n'. Aqui está um exemplo -
$ cat numbers.txt
10
2
30
4
20
$ sort -n numbers.txt
2
4
10
20
30
Neste exemplo, o comando 'sort' classifica o arquivo 'numbers.txt' em ordem numérica usando a opção '-n'.
Classificar em ordem inversa
Às vezes, você pode querer classificar os dados na ordem inversa. Por exemplo, você pode querer classificar uma lista de arquivos por data e hora, começando pelos arquivos mais recentes. Para classificar na ordem inversa, use a opção '-r'. Aqui está um exemplo -
$ ls -l
total 0
-rw-r--r-- 1 user user 0 Mar 23 14:15 file1.txt
-rw-r--r-- 1 user user 0 Mar 23 14:14 file2.txt
-rw-r--r-- 1 user user 0 Mar 23 14:13 file3.txt
$ ls -l | sort -r
total 0
-rw-r--r-- 1 user user 0 Mar 23 14:15 file1.txt
-rw-r--r-- 1 user user 0 Mar 23 14:14 file2.txt
-rw-r--r-- 1 user user 0 Mar 23 14:13 file3.txt
Neste exemplo, o comando 'ls -l' lista os arquivos no diretório atual e o comando 'sort -r' classifica a lista na ordem inversa.
Classificar por coluna
O comando ‘sort’ também pode classificar dados por colunas específicas. Isso é útil ao lidar com conjuntos de dados que possuem várias colunas de dados. Para classificar por uma coluna específica, use a opção '-k'. Aqui está um exemplo -
$ cat names.txt
John Smith,25
Mary Johnson,30
Bob Jones,20
Tom Davis,35
$ sort -t ',' -k 2 names.txt
Bob Jones,20
John Smith,25
Mary Johnson,30
Tom Davis,35
Neste exemplo, o arquivo 'names.txt' inclui duas colunas de dados separadas por vírgula. O comando 'sort' usa a opção '-t' para especificar o separador de campo (a vírgula) e a opção '-k 2' para classificar pela segunda coluna (a coluna de idade).
Classificar por valores exclusivos
O comando ‘sort’ também pode remover linhas duplicadas de um conjunto de dados. Para fazer isso, use a opção '-u'. Aqui está um exemplo -
$ cat fruits.txt
apple
orange
banana
orange
apple
$ sort -u fruits.txt
apple
banana
orange
Neste exemplo, o comando 'sort' remove linhas duplicadas do arquivo 'fruits.txt' usando a opção '-u'.
Classificar e mesclar arquivos
O comando 'classificar' também pode mesclar vários arquivos classificados em um único arquivo classificado. Isto é útil ao lidar com grandes conjuntos de dados que foram divididos em vários arquivos. Para mesclar arquivos, use a opção '-m'. Aqui está um exemplo -
$ cat file1.txt
1
3
5
$ cat file2.txt
2
4
6
$ sort -m file1.txt file2.txt
1
2
3
4
5
6
Neste exemplo, o comando 'sort' mescla os arquivos 'file1.txt' e 'file2.txt' em um único arquivo classificado usando a opção '-m'.
Classifique ignorando os personagens principais
Às vezes, um conjunto de dados pode ter caracteres iniciais que você não deseja considerar durante a classificação. Por exemplo, você pode ter uma lista de nomes de arquivos que começam com um carimbo de data e deseja classificá-los apenas por nome de arquivo. Para ignorar os caracteres iniciais, use a opção '-b'. Aqui está um exemplo -
$ ls
2023-03-22_file1.txt
2023-03-23_file3.txt
2023-03-21_file2.txt
$ ls | sort -b -t '_' -k 2
2023-03-22_file1.txt
2023-03-21_file2.txt
2023-03-23_file3.txt
Neste exemplo, o comando 'ls' lista os arquivos no diretório atual. O comando 'sort' usa a opção '-b' para ignorar espaços iniciais e a opção '-t' para especificar o separador de campo (o sublinhado). A opção '-k 2' classifica os arquivos pelo segundo campo (o nome do arquivo), ignorando o carimbo de data inicial.
Classificar por tamanhos legíveis por humanos
Se estiver trabalhando com arquivos ou diretórios, você pode classificá-los por tamanho. No entanto, a classificação por tamanho em bytes pode ser difícil de ler e comparar. Para classificar por tamanhos legíveis (por exemplo, KB, MB, GB), use a opção '-h'. Aqui está um exemplo -
$ du -h
10M file1.txt
100K file2.txt
1G file3.txt
$ du -h | sort -h
100K file2.txt
10M file1.txt
1G file3.txt
Neste exemplo, o comando 'du' exibe o uso do disco de arquivos no diretório atual em formato legível por humanos usando a opção '-h'. O comando 'sort' classifica os arquivos por tamanho em formato legível por humanos usando a opção '-h'.
Classificar por data e hora
Se estiver trabalhando com arquivos, você pode classificá-los por data e hora. Para classificar por data e hora, use a opção '-t' para especificar o separador de campo e a opção '-k' para classificar por coluna de data e hora. Aqui está um exemplo -
$ ls -l
-rw-r--r-- 1 user user 0 Mar 23 14:15 file1.txt
-rw-r--r-- 1 user user 0 Mar 22 13:45 file2.txt
-rw-r--r-- 1 user user 0 Mar 21 12:30 file3.txt
$ ls -l | sort -t ' ' -k 6,7
-rw-r--r-- 1 user user 0 Mar 21 12:30 file3.txt
-rw-r--r-- 1 user user 0 Mar 22 13:45 file2.txt
-rw-r--r-- 1 user user 0 Mar 23 14:15 file1.txt
Neste exemplo, o comando 'ls -l' lista os arquivos no diretório atual com sua data e hora de modificação. O comando 'sort' usa a opção '-t' para especificar o separador de campo (um espaço) e a opção '-k 6,7' para classificar por colunas de data e hora.
Classificar por ordem aleatória
Finalmente, você também pode classificar os dados em ordem aleatória. Isso pode ser útil ao testar ou gerar dados aleatórios. Para classificar em ordem aleatória, use a opção '-R'. Aqui está um exemplo -
$ cat names.txt
John
Mary
Bob
Tom
$ sort -R
Neste exemplo, o comando 'sort' classifica os nomes no arquivo 'names.txt' em ordem aleatória usando a opção '-R'. Isso pode ser útil para gerar dados de teste aleatórios ou embaralhar listas.
Conclusão
O comando ‘sort’ é uma ferramenta poderosa para classificar e manipular dados na linha de comando do Linux. Neste artigo, exploramos cinco exemplos interessantes de comandos de 'classificação', incluindo classificação por valores numéricos, classificação em ordem inversa, classificação por coluna, classificação por valores exclusivos e mesclagem de arquivos classificados. Esses exemplos devem fornecer um bom ponto de partida para usar o comando 'sort' em seus próprios fluxos de trabalho de linha de comando do Linux. Boa classificação!