phoemur
(usa Debian)
Enviado em 18/09/2013 - 18:37h
Nos parametros do sort, com o -t":" você define o separador de campos ":". No nosso caso queremos utilizar o terceiro campo para ordenar as linhas.
Depois com o -k você define os caracteres que serão utilizados para fazer a ordenação...
A forma correta é ordenar primeiro pelos anos, depois pelos meses e por último pelos dias, pois se você começar pelos dias, quando for ver pelo ano bagunça tudo novamente... acho que deu pra entender mais ou menos o que acontece...
por exemplo:
-k 3.7,3.10n significa pra ordenar pelo terceiro campo, setimo caractere(3.7) ao decimo(3.10), ou seja o ano
-k 3.4,3.5n significa pra ordenar pelo terceiro campo, quarto(3.4) ao quinto (3.5) caractere, ou seja o mês
-k 3.1,3.2n significa pra ordenar pelo terceiro campo, primeiro (3.1) ao segundo (3.2) caractere, ou seja os dias.
o n no final significa apenas sequencia numérica... se colocar nr é ordem inversa, pois r de reverse...
Se fosse ordem alfabética teria que ser a opção -f
Se por ventura seus meses estivessem escritos literalmente (Jan, Feb, Mar, Apr, May, Jun, etc... ) você poderia utilizar a opção M maiúsculo que quer dizer meses...
Têm várias opções, e sinceramente não conheço todas, apenas as que mais utilizo...
É fundamental colocar o tr -d ' ' também para apagar os espaços em branco da saída do grep, pois se a pessoa der um espaço entre o : e a data, vai aumentar o numero de caracteres e daí o sort pode pegar os numeros errados e fazer confusão...