classificar com base na coluna

classificar com base na coluna
10 awhdk;
14 hjoeow;
2  kdkld;
4  jkjdksl

Como classificar isso com base na coluna um (ou seja, a contagem)?

Eu gostaria de obter esta saída:

14 hjoeow;10 awhdk;4 jkjdksl;2 kdkld

Preciso que ambas as colunas sejam impressas com base na classificação da primeira coluna.

Responder1

Você pode usar -kpara especificar onde na linha de entrada a chave de classificação começa e termina.

Você usa a -nopção ou adiciona nà especificação da chave de classificação para acionar uma classificação numérica em vez de uma classificação lexical por padrão. E -rpara reverter a classificação.

Aqui, para uma classificação numérica, você não precisa limitar a chave de classificação ao comando de classificação. Se você fizer:

sort -rn file

Ele tratará a linha inteira como um número. A 14 hjoeow;linha, por exemplo, será entendida como o 14número.

Você poderia fazer:

sort -bk 1,1rn file

Classificar apenas no primeiro campo, mas isso não faria diferença.

O comando para juntar linhas está pastecom a -sopção. Você pode especificar o delimitador com -d. \0 é um valor especial para o delimitador que significajunte-se sem nada no meio. Então, para obter o resultado esperado:

sort -rn file | paste -sd '\0' -

POSIX pasteexige que um nome de arquivo seja passado. -é novamente um valor especial que significaentrada padrão. Você pode omiti-lo com algumas pasteimplementações.

informação relacionada