welche LANG Variable für UNIX like Sortierung?

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
mclien
Beiträge: 2468
Registriert: 06.12.2005 10:38:46
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Baustelle

welche LANG Variable für UNIX like Sortierung?

Beitrag von mclien » 11.04.2009 20:50:40

Ich habe hier gerade ein Problem wie mein System alphabetisch sortiert.
Es macht:

bla
laber
_variable
zustand

Ich will aber:
_variable
bla
laber
zustand

Ich bilde mir ein daß das mit der LANG Variable beeinflusst wird.

Code: Alles auswählen

leviathan:~# cat /etc/default/locale
LANG=en_US.ISO-8859-15
Daher die Frage, welche Einstellung macht das von mir gewünschte?

cosmac
Beiträge: 4579
Registriert: 28.03.2005 22:24:30

Re: welche LANG Variable für UNIX like Sortierung?

Beitrag von cosmac » 11.04.2009 20:58:44

hi,

"C" oder "POSIX", was der Unterschied zwischen den beiden ist, wüsste ich aber selber gerne.

Dies ist aber kein Tipp für Leute, die normalerweise de_DE.UTF8 benutzen. Da gibt's dann grobe Unterschiede.
Beware of programmers who carry screwdrivers.

Benutzeravatar
GoKi
Beiträge: 2068
Registriert: 04.07.2003 23:08:56
Lizenz eigener Beiträge: MIT Lizenz

Re: welche LANG Variable für UNIX like Sortierung?

Beitrag von GoKi » 11.04.2009 21:02:14

In der Manpage von sort findet man auch einen Hinweis:
*** 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.
bzw. in der deutschen Manpage
*** WARNUNG ***
Die eingestellte Locale beeinflusst die Sortierreihenfolge. Für die traditionelle Bytewert-Sortierung setze man LC_ALL=C.
Also z.B.

Code: Alles auswählen

LC_ALL=C sort < datei.txt
MfG GoKi
:wq

mclien
Beiträge: 2468
Registriert: 06.12.2005 10:38:46
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Baustelle

Re: welche LANG Variable für UNIX like Sortierung?

Beitrag von mclien » 12.04.2009 10:31:17

Und jetzt nochmal für die armen, alten Stümper wie mich:
änder ich das in /etc/environment ?
Also
/etc/environment

Code: Alles auswählen

LANG="en_US.ISO-8859-15"
ändern in:?

Code: Alles auswählen

LANG="en_US.ISO-8859-15"
LC_ALL=C

Benutzeravatar
GoKi
Beiträge: 2068
Registriert: 04.07.2003 23:08:56
Lizenz eigener Beiträge: MIT Lizenz

Re: welche LANG Variable für UNIX like Sortierung?

Beitrag von GoKi » 12.04.2009 10:48:01

Ich würde es nur temporär für den Befehl ändern, so wie in meinem Beispiel oben, da LC_ALL auch das Verhalten/Sprache anderer Programme beeinflusst.
Alternativ kann man auch einen alias oder ein kleines Script erstellen.
MfG GoKi
:wq

mclien
Beiträge: 2468
Registriert: 06.12.2005 10:38:46
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Baustelle

Re: welche LANG Variable für UNIX like Sortierung?

Beitrag von mclien » 14.04.2009 10:42:49

Meine Absicht ist schon das Verhalten Systemweit zu erzeugen.
also:
-auf shell Ebene
-innerhalb vom Konqueror
-mglichst auch an ganz tief eingebundenen Stellen: Sortierung der Kategorien im KOrganizer
usw.

Dann gehörts doch in die /etc/environment, wie oben von mir beschrieben, ja?

Benutzeravatar
ThorstenS
Beiträge: 2875
Registriert: 24.04.2004 15:33:31

Re: welche LANG Variable für UNIX like Sortierung?

Beitrag von ThorstenS » 14.04.2009 10:51:53

Seit etch soll die /etc/environment nicht mehr für diesen Zweck benutzt werden.
Schreib es in die /etc/default/locale:

Code: Alles auswählen

LANG=de_DE.UTF-8
LC_PAPER=de_DE.UTF-8
LC_NUMERIC=de_DE.UTF-8
LC_MONETARY=de_DE.UTF-8

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22456
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Re: welche LANG Variable für UNIX like Sortierung?

Beitrag von KBDCALLS » 14.04.2009 11:03:10

Wenn man LC_COLLATE setzt sollte reichen der Rest kann dan auf de_DE_UTF8 bleiben.

http://debianforum.de/forum/viewtopic.p ... 82#p694682
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

Antworten