Je cherche un sort(1) qui puisse trier un texte 8 bits selon l'ordre des
octets, sans les finasseries de Gnu sort.
Un exemple valant mieux qu'une longue explication, voici ce que
j'obtiens (a et b peuvent être des chaînes quelconques) :
$ echo 'a b
b b
b' | sort
a b
b
b b
Voila ce que je souhaite :
b
a b
b b
Et : oui, c'est quand même pour un Gnu Linux :))
Quelqu'un connaît une solution ?
Merci,
--
Philippe Naudin
Cette adresse est valide.
Elle rejette le html, et les pièces attachées
avec une extension (exe|bat|pif|com|scr|zip).
Dans le message <news:, *Philippe Naudin* tapota sur f.c.o.unix :
Bonjour,
Je cherche un sort(1) qui puisse trier un texte 8 bits selon l'ordre des octets, sans les finasseries de Gnu sort.
Ça tombe bien, GNU sort le fait.
Un exemple valant mieux qu'une longue explication, voici ce que j'obtiens (a et b peuvent être des chaînes quelconques) : $ echo 'a b b b b' | sort a b b b b
Ça, c'est un tri effectué avec une locale particulière.
$ echo -e 'a bnb bn b' | LC_ALL=fr_FR sort a b b b b
Voila ce que je souhaite : b a b b b
Ça c'est un tri « normal/standard », avec la locale C ou POSIX.
$ echo -e 'a bnb bn b' | LC_ALL=C sort b a b b b
man sort
*** WARNING *** The locale specified by the environment affects sort order. Set LC_ALL=C to get the traditional sort order that uses native byte values.
-- Sébastien Monbrun aka TiChou
Dans le message <news:20061214182244.70d18fa9@localhost.localdomain>,
*Philippe Naudin* tapota sur f.c.o.unix :
Bonjour,
Je cherche un sort(1) qui puisse trier un texte 8 bits selon l'ordre des
octets, sans les finasseries de Gnu sort.
Ça tombe bien, GNU sort le fait.
Un exemple valant mieux qu'une longue explication, voici ce que
j'obtiens (a et b peuvent être des chaînes quelconques) :
$ echo 'a b
b b
b' | sort
a b
b
b b
Ça, c'est un tri effectué avec une locale particulière.
$ echo -e 'a bnb bn b' | LC_ALL=fr_FR sort
a b
b
b b
Voila ce que je souhaite :
b
a b
b b
Ça c'est un tri « normal/standard », avec la locale C ou POSIX.
$ echo -e 'a bnb bn b' | LC_ALL=C sort
b
a b
b b
man sort
*** WARNING *** The locale specified by the environment affects sort order.
Set LC_ALL=C to get the traditional sort order that uses native byte values.
Dans le message <news:, *Philippe Naudin* tapota sur f.c.o.unix :
Bonjour,
Je cherche un sort(1) qui puisse trier un texte 8 bits selon l'ordre des octets, sans les finasseries de Gnu sort.
Ça tombe bien, GNU sort le fait.
Un exemple valant mieux qu'une longue explication, voici ce que j'obtiens (a et b peuvent être des chaînes quelconques) : $ echo 'a b b b b' | sort a b b b b
Ça, c'est un tri effectué avec une locale particulière.
$ echo -e 'a bnb bn b' | LC_ALL=fr_FR sort a b b b b
Voila ce que je souhaite : b a b b b
Ça c'est un tri « normal/standard », avec la locale C ou POSIX.
$ echo -e 'a bnb bn b' | LC_ALL=C sort b a b b b
man sort
*** WARNING *** The locale specified by the environment affects sort order. Set LC_ALL=C to get the traditional sort order that uses native byte values.
-- Sébastien Monbrun aka TiChou
Philippe Naudin
Le jeudi 14 décembre 2006 à 18:49:33, Sébastien Monbrun aka TiChou a écrit:
... man sort
*** WARNING *** The locale specified by the environment affects sort order. Set LC_ALL=C to get the traditional sort order that uses native byte values.
Le gag, c'est que cette information n'est pas présente dans la version française du manuel de sort (celle présente sur mon micro, en tous cas). Il fallait effectivement penser à consulter la version originale !
Merci de m'avoir réconcilié avec Gnu sort !
-- Philippe Naudin Cette adresse est valide. Elle rejette le html, et les pièces attachées avec une extension (exe|bat|pif|com|scr|zip).
Le jeudi 14 décembre 2006 à 18:49:33,
Sébastien Monbrun aka TiChou <gro.uohcit@uohcit> a écrit:
...
man sort
*** WARNING *** The locale specified by the environment affects sort
order. Set LC_ALL=C to get the traditional sort order that uses
native byte values.
Le gag, c'est que cette information n'est pas présente dans la version
française du manuel de sort (celle présente sur mon micro, en tous cas).
Il fallait effectivement penser à consulter la version originale !
Merci de m'avoir réconcilié avec Gnu sort !
--
Philippe Naudin
Cette adresse est valide.
Elle rejette le html, et les pièces attachées
avec une extension (exe|bat|pif|com|scr|zip).
Le jeudi 14 décembre 2006 à 18:49:33, Sébastien Monbrun aka TiChou a écrit:
... man sort
*** WARNING *** The locale specified by the environment affects sort order. Set LC_ALL=C to get the traditional sort order that uses native byte values.
Le gag, c'est que cette information n'est pas présente dans la version française du manuel de sort (celle présente sur mon micro, en tous cas). Il fallait effectivement penser à consulter la version originale !
Merci de m'avoir réconcilié avec Gnu sort !
-- Philippe Naudin Cette adresse est valide. Elle rejette le html, et les pièces attachées avec une extension (exe|bat|pif|com|scr|zip).
Paul Gaborit
À (at) Thu, 14 Dec 2006 18:22:44 +0100, Philippe Naudin écrivait (wrote):
Je cherche un sort(1) qui puisse trier un texte 8 bits selon l'ordre des octets, sans les finasseries de Gnu sort.
Un exemple valant mieux qu'une longue explication, voici ce que j'obtiens (a et b peuvent être des chaînes quelconques) : $ echo 'a b b b b' | sort a b b b b
Voila ce que je souhaite : b a b b b
Et : oui, c'est quand même pour un Gnu Linux :))
Quelqu'un connaît une solution ?
Il suffit de changer le 'locale' courant :
$ LANG=C sort file
('file' est le fichier à trier...)
Selon vos règlages, il est possible que le 'locale' soit précisé directement par des variables LC_* (qui sont prioritaires sur LANG). Dans ce cas, la variable qui compte, c'est LC_COLLATE :
$ LC_COLLATE=C sort file
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
À (at) Thu, 14 Dec 2006 18:22:44 +0100,
Philippe Naudin <p.naudin@free.fr> écrivait (wrote):
Je cherche un sort(1) qui puisse trier un texte 8 bits selon l'ordre des
octets, sans les finasseries de Gnu sort.
Un exemple valant mieux qu'une longue explication, voici ce que
j'obtiens (a et b peuvent être des chaînes quelconques) :
$ echo 'a b
b b
b' | sort
a b
b
b b
Voila ce que je souhaite :
b
a b
b b
Et : oui, c'est quand même pour un Gnu Linux :))
Quelqu'un connaît une solution ?
Il suffit de changer le 'locale' courant :
$ LANG=C sort file
('file' est le fichier à trier...)
Selon vos règlages, il est possible que le 'locale' soit précisé
directement par des variables LC_* (qui sont prioritaires sur
LANG). Dans ce cas, la variable qui compte, c'est LC_COLLATE :
$ LC_COLLATE=C sort file
--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
À (at) Thu, 14 Dec 2006 18:22:44 +0100, Philippe Naudin écrivait (wrote):
Je cherche un sort(1) qui puisse trier un texte 8 bits selon l'ordre des octets, sans les finasseries de Gnu sort.
Un exemple valant mieux qu'une longue explication, voici ce que j'obtiens (a et b peuvent être des chaînes quelconques) : $ echo 'a b b b b' | sort a b b b b
Voila ce que je souhaite : b a b b b
Et : oui, c'est quand même pour un Gnu Linux :))
Quelqu'un connaît une solution ?
Il suffit de changer le 'locale' courant :
$ LANG=C sort file
('file' est le fichier à trier...)
Selon vos règlages, il est possible que le 'locale' soit précisé directement par des variables LC_* (qui sont prioritaires sur LANG). Dans ce cas, la variable qui compte, c'est LC_COLLATE :
$ LC_COLLATE=C sort file
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Nicolas George
Philippe Naudin wrote in message :
Le gag, c'est que cette information n'est pas présente dans la version française du manuel de sort (celle présente sur mon micro, en tous cas). Il fallait effectivement penser à consulter la version originale !
On le répète encore une fois : il ne faut jamais consulter les traductions des documentations, elles ne sont jamais à jour.
Philippe Naudin wrote in message
<20061214192848.0bb9657f@localhost.localdomain>:
Le gag, c'est que cette information n'est pas présente dans la version
française du manuel de sort (celle présente sur mon micro, en tous cas).
Il fallait effectivement penser à consulter la version originale !
On le répète encore une fois : il ne faut jamais consulter les traductions
des documentations, elles ne sont jamais à jour.
Le gag, c'est que cette information n'est pas présente dans la version française du manuel de sort (celle présente sur mon micro, en tous cas). Il fallait effectivement penser à consulter la version originale !
On le répète encore une fois : il ne faut jamais consulter les traductions des documentations, elles ne sont jamais à jour.
Paul Gaborit
À (at) Thu, 14 Dec 2006 19:28:48 +0100, Philippe Naudin écrivait (wrote):
Le jeudi 14 décembre 2006 à 18:49:33, Sébastien Monbrun aka TiChou a écrit:
... man sort
*** WARNING *** The locale specified by the environment affects sort order. Set LC_ALL=C to get the traditional sort order that uses native byte values.
Le gag, c'est que cette information n'est pas présente dans la version française du manuel de sort (celle présente sur mon micro, en tous ca s). Il fallait effectivement penser à consulter la version originale !
C'est le gros défaut de ces traductions. Elles ne sont pas à jour ou incomplètes (je ne critique pas car je connais l'ampleur de la tâche... je constate juste). Mais, là encore, le 'locale' aide :
$ LANG=C man sort
et on a la page de 'man' originale et, le plus souvent, à jour.
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
À (at) Thu, 14 Dec 2006 19:28:48 +0100,
Philippe Naudin <p.naudin@free.fr> écrivait (wrote):
Le jeudi 14 décembre 2006 à 18:49:33,
Sébastien Monbrun aka TiChou <gro.uohcit@uohcit> a écrit:
...
man sort
*** WARNING *** The locale specified by the environment affects sort
order. Set LC_ALL=C to get the traditional sort order that uses
native byte values.
Le gag, c'est que cette information n'est pas présente dans la version
française du manuel de sort (celle présente sur mon micro, en tous ca s).
Il fallait effectivement penser à consulter la version originale !
C'est le gros défaut de ces traductions. Elles ne sont pas à jour ou
incomplètes (je ne critique pas car je connais l'ampleur de la
tâche... je constate juste). Mais, là encore, le 'locale' aide :
$ LANG=C man sort
et on a la page de 'man' originale et, le plus souvent, à jour.
--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
À (at) Thu, 14 Dec 2006 19:28:48 +0100, Philippe Naudin écrivait (wrote):
Le jeudi 14 décembre 2006 à 18:49:33, Sébastien Monbrun aka TiChou a écrit:
... man sort
*** WARNING *** The locale specified by the environment affects sort order. Set LC_ALL=C to get the traditional sort order that uses native byte values.
Le gag, c'est que cette information n'est pas présente dans la version française du manuel de sort (celle présente sur mon micro, en tous ca s). Il fallait effectivement penser à consulter la version originale !
C'est le gros défaut de ces traductions. Elles ne sont pas à jour ou incomplètes (je ne critique pas car je connais l'ampleur de la tâche... je constate juste). Mais, là encore, le 'locale' aide :
$ LANG=C man sort
et on a la page de 'man' originale et, le plus souvent, à jour.
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Philippe Naudin
Le jeudi 14 décembre 2006 à 19:39:33, Paul Gaborit a écrit:
... Selon vos règlages, il est possible que le 'locale' soit précisé directement par des variables LC_* (qui sont prioritaires sur LANG). Dans ce cas, la variable qui compte, c'est LC_COLLATE :
$ LC_COLLATE=C sort file
Merci pour cette indication. J'ai modifié /etc/sysconfig/i18n (qui contient, sur mon système, les locales par défaut) : je ne me ferais plus avoir par sort.
Je profite honteusement de l'occasion : et pour man, quelle est la variable prioritaire ? Je suis obligé de faire : LC_MESSAGES=C LANG=C man sort pour obtenir l'aide en V.O. J'ai par défaut : $ locale LANG= LC_CTYPE= LC_NUMERIC="" LC_TIME="" LC_COLLATE=C LC_MONETARY="" LC_MESSAGES= LC_PAPER="" LC_NAME="" LC_ADDRESS="" LC_TELEPHONE="" LC_MEASUREMENT="" LC_IDENTIFICATION="" LC_ALL (la variable NLSPATH n'existe pas)
Cordialement,
-- Philippe Naudin Cette adresse est valide. Elle rejette le html, et les pièces attachées avec une extension (exe|bat|pif|com|scr|zip).
Le jeudi 14 décembre 2006 à 19:39:33,
Paul Gaborit <Paul.Gaborit@invalid.invalid> a écrit:
...
Selon vos règlages, il est possible que le 'locale' soit précisé
directement par des variables LC_* (qui sont prioritaires sur
LANG). Dans ce cas, la variable qui compte, c'est LC_COLLATE :
$ LC_COLLATE=C sort file
Merci pour cette indication. J'ai modifié /etc/sysconfig/i18n (qui
contient, sur mon système, les locales par défaut) : je ne me ferais
plus avoir par sort.
Je profite honteusement de l'occasion : et pour man, quelle est la
variable prioritaire ? Je suis obligé de faire :
LC_MESSAGES=C LANG=C man sort
pour obtenir l'aide en V.O. J'ai par défaut :
$ locale
LANG=fr_FR@euro
LC_CTYPE=fr_FR@euro
LC_NUMERIC="fr_FR@euro"
LC_TIME="fr_FR@euro"
LC_COLLATE=C
LC_MONETARY="fr_FR@euro"
LC_MESSAGES=fr_FR@euro
LC_PAPER="fr_FR@euro"
LC_NAME="fr_FR@euro"
LC_ADDRESS="fr_FR@euro"
LC_TELEPHONE="fr_FR@euro"
LC_MEASUREMENT="fr_FR@euro"
LC_IDENTIFICATION="fr_FR@euro"
LC_ALL (la variable NLSPATH n'existe pas)
Cordialement,
--
Philippe Naudin
Cette adresse est valide.
Elle rejette le html, et les pièces attachées
avec une extension (exe|bat|pif|com|scr|zip).
Le jeudi 14 décembre 2006 à 19:39:33, Paul Gaborit a écrit:
... Selon vos règlages, il est possible que le 'locale' soit précisé directement par des variables LC_* (qui sont prioritaires sur LANG). Dans ce cas, la variable qui compte, c'est LC_COLLATE :
$ LC_COLLATE=C sort file
Merci pour cette indication. J'ai modifié /etc/sysconfig/i18n (qui contient, sur mon système, les locales par défaut) : je ne me ferais plus avoir par sort.
Je profite honteusement de l'occasion : et pour man, quelle est la variable prioritaire ? Je suis obligé de faire : LC_MESSAGES=C LANG=C man sort pour obtenir l'aide en V.O. J'ai par défaut : $ locale LANG= LC_CTYPE= LC_NUMERIC="" LC_TIME="" LC_COLLATE=C LC_MONETARY="" LC_MESSAGES= LC_PAPER="" LC_NAME="" LC_ADDRESS="" LC_TELEPHONE="" LC_MEASUREMENT="" LC_IDENTIFICATION="" LC_ALL (la variable NLSPATH n'existe pas)
Cordialement,
-- Philippe Naudin Cette adresse est valide. Elle rejette le html, et les pièces attachées avec une extension (exe|bat|pif|com|scr|zip).
Nicolas George
Philippe Naudin wrote in message :
Je profite honteusement de l'occasion : et pour man, quelle est la variable prioritaire ?
LC_MESSAGES, comme tu pouvais t'en rendre compte en essayant.
Beurk.
Philippe Naudin wrote in message
<20061214211429.246406b6@localhost.localdomain>:
Je profite honteusement de l'occasion : et pour man, quelle est la
variable prioritaire ?
LC_MESSAGES, comme tu pouvais t'en rendre compte en essayant.
LC_MESSAGES=C LANG= man man LC_MESSAGES= LANG=C man man me donnent tous deux un texte en français.
Pour le premier, ça me paraît tout à fait suspect.
Paul Gaborit
À (at) 14 Dec 2006 22:09:27 GMT, Nicolas George <nicolas$ écrivait (wrote):
Philippe Naudin wrote in message :
LC_MESSAGES=C LANG= man man LC_MESSAGES= LANG=C man man me donnent tous deux un texte en français.
Pour le premier, ça me paraît tout à fait suspect.
Dans l'absolu, c'est effectivement LC_MESSAGES qui devrait décider de la langue d'affichage des pages de man. En pratique, il semble que 'man' utilise LANG pour choisir la traduction à afficher et LC_MESSAGES pour ses propres messages !
Et ça, c'est expliquer dans la page de man de man (en anglais comme en français).
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
À (at) 14 Dec 2006 22:09:27 GMT,
Nicolas George <nicolas$george@salle-s.org> écrivait (wrote):
Philippe Naudin wrote in message
<20061214214729.0f5b05af@localhost.localdomain>:
LC_MESSAGES=C LANG=fr_FR@euro man man
LC_MESSAGES=fr_FR@euro LANG=C man man
me donnent tous deux un texte en français.
Pour le premier, ça me paraît tout à fait suspect.
Dans l'absolu, c'est effectivement LC_MESSAGES qui devrait décider de
la langue d'affichage des pages de man. En pratique, il semble que
'man' utilise LANG pour choisir la traduction à afficher et
LC_MESSAGES pour ses propres messages !
Et ça, c'est expliquer dans la page de man de man (en anglais comme en
français).
--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
À (at) 14 Dec 2006 22:09:27 GMT, Nicolas George <nicolas$ écrivait (wrote):
Philippe Naudin wrote in message :
LC_MESSAGES=C LANG= man man LC_MESSAGES= LANG=C man man me donnent tous deux un texte en français.
Pour le premier, ça me paraît tout à fait suspect.
Dans l'absolu, c'est effectivement LC_MESSAGES qui devrait décider de la langue d'affichage des pages de man. En pratique, il semble que 'man' utilise LANG pour choisir la traduction à afficher et LC_MESSAGES pour ses propres messages !
Et ça, c'est expliquer dans la page de man de man (en anglais comme en français).
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>