Comando Sort como usar? [RESOLVIDO]

13. Re: Comando Sort como usar? [RESOLVIDO]

Mr.Perfection
perfection

(usa Slackware)

Enviado em 17/03/2020 - 19:20h

RogerDez escreveu:UHMM... É que tem DOIS comandos aqui, dois cats, dois greps e dois sorts. Teria que ter dois LC_COLLATE. Além disso, acredito que o LC_COLLATE neste caso deveria ser na frente do sort, e não do cat. Outra forma seria vc 'export LC_COLLATE=POSIX' antes de executar os comandos.. Ou seja, o LC_COLLATE é uma variável de ambiente. Se vc exportar a variável, ela fica configurada na sua shell.

IMPORTANTE
Quero agradecer sua insistência no que você diz! Analisando ainda mais a fundo, porque o que vc escreveu acabou me fazendo buscar o porque uso LC_COLLATE=C e fazendo mais testes, SIM o LC_COLLATE influencia sim no resultado do Sort como você AFIRMOU!

Veja abaixo como TUDO MUDOU qdo defini o COLLATE para utf-8 mudou completamente o resultado de um sort sem nenhum parametro.
Ele mudou a ordem colocando minúsculas na frente
LC_COLLATE="en_US.UTF-8" sort file
1
2
3
a
A
b
B
c
C

Quis deixar aqui registrado para ajudar a quem ler o tópico para entender sua resposta e ainda ter mais informações sobre COLLATE
Eu estava errado quando achei que não tinha a ver, mas com certeza ele modifica sim as coisas


  


14. Re: Comando Sort como usar? [RESOLVIDO]

Sandro Marcell
SMarcell

(usa Slackware)

Enviado em 18/03/2020 - 10:19h

RogerDez escreveu:
Dei negativo para a melhor resposta por que o batman não EXPLICOU NADA


Pra isso existem as man pages!

$ man sort
$ man locale
$ man bash


O problema hoje é que grande parte das pessoas querem tudo mastigado, tem preguiça de pesquisar e ler. Na grande maiorias dos casos aqui no VoL, uma simples consulta ao manual do comando já resolveria uns 80% das dúvidas.

Quer um exemplo? Muitos executariam este simples encadeamento sem ter a miníma ideia do que ele vai fazer:

$ echo 2110792159321640677130P | dc 


Por isso a dica é sempre, MAS sempre consultar as man pages dos comandos antes de sair executando-os.
;)

Em relação ao LC_COLLATE, é só ir até /usr/share/i18n/locales e verificar o conteúdo do arquivo POSIX, pra notar que a classe de caracteres maiúsculos vem antes dos minúsculos, por isso a ordenação ocorre da forma como o cidadão lá em cima deseja. No mais, é só deixar a acomodação de lado e pesquisar pra entender como as coisas funcionam. :)




01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts