Por favor, explique como usar o comando sort no unix

Por favor, explique como usar o comando sort no unix

Eu sou novo no UNIX. Por favor, explique sorto comando. Tenho dúvidas relacionadas ao separador de campos de classificação. Ex: sort -k2, 2 filename, Por favor, esclareça. Forneça um pequeno exemplo.

Responder1

Há um erro de sintaxe em sort -k2, 2 filenameNão deve haver um delimitador de espaço na -k2,2opção. Além disso, eliminaria uma possível fonte de confusão e/ou erro (dependendo do conteúdo do arquivo que está sendo classificado) adicionar uma ordem de dicionário ou uma opção de classificação numérica ao comando, a fim de tornar explícito como as coisas deveriam ser classificado.

Exemplos

cat unsorted-file.txt # original unsorted file
9 8 7
6 55 44
3 2 1

sort -k1 -n unsorted-file.txt # example 1
3 2 1
6 55 44
9 8 7

sort -k3 -n unsorted-file.txt # example 2
3 2 1
9 8 7
6 55 44

sort -k1,3 -n unsorted-file.txt # example 3
3 2 1
6 55 44
9 8 7

sort -k2,3 -n unsorted-file.txt # example 4
3 2 1
9 8 7
6 55 44

Explicação

Por padrão, o delimitador de campo não é uma transição de branco para branco.
KEYDEF -ké F[.C][OPTS][,F[.C][OPTS]] para posição inicial e final, onde F é um número de campo e C uma posição de caractere no campo. Ambos são origem 1 e a posição de parada é padronizada para o final da linha.
-k1- primeiro campo
-k3- terceiro campo
-k1,3- iniciar o primeiro campo, parar o terceiro campo
-k2,3- iniciar o segundo campo, parar o terceiro campo
-n- comparar de acordo com o valor numérico da string

informação relacionada