Peut reproduire ce problème avec le tri 8.21 de GNU et un environnement local par défaut différent de l'anglais, ce qui peut être votre cas.
Tout d'abord, vérifiez le réglage actuel des valeurs date/heure:
[email protected]:~$ locale | grep -i time
LC_TIME="it_IT.UTF-8"
En fait le mien est pas l'anglais, donc sort -m
ne fonctionnera pas comme prévu avec les noms de mois en anglais:
[email protected]:~$ cat /tmp/mesi
AUG
JAN
JUL
FEB
[email protected]:~$ sort -M /tmp/mesi
AUG
JAN
JUL
FEB
La solution consiste à modifier temporairement la valeur LC_TIME en une valeur anglaise:
[email protected]:~$ LC_TIME="en_EN.UTF-8" sort -M /tmp/mesi
JAN
FEB
JUL
AUG
Ne vous inquiétez pas gâcher les choses, car après l'exécution de la commande dans laquelle la variable locale a été modifiée, sa valeur d'origine est restauré automatiquement:
[email protected]:~$ locale | grep -i time
LC_TIME="it_IT.UTF-8"
ont une belle journée
Quelle plateforme vous travaillez sur? Est-ce que votre 'sort' supporte' -M'? Cela a fonctionné correctement sur Mac OS X 10.9.3 avec '/ usr/bin/sort', qui est GNU' sort' (version 5.93, à peine la version la plus récente). Cela fonctionnera probablement bien avec d'autres versions plus récentes de GNU 'sort'. Avez-vous défini LANG ou LC_ALL ou des variables d'environnement similaires? –
Impossible de reproduire. Quelle version de 'sort' utilisez-vous? –
Linux redhat 2.6.32-431.el6.x86_64, tri (GNU coreutils) 8.4 – YOHO