[gelöst] Sortierreihenfolge beim Befehl ls -l

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
ropri8
Beiträge: 85
Registriert: 22.02.2008 08:37:56

[gelöst] Sortierreihenfolge beim Befehl ls -l

Beitrag von ropri8 » 03.05.2011 15:27:55

Hallo!
Warscheinlich stehe ich komplett auf der leitung, aber könnt ihr mir sagen, warum bei folgendem Befehl die Sortierreihenfolge so aussieht:

Code: Alles auswählen

roman@luna:/nano/buero/so/software/sicherung/delta/mit_tar/ab_letzter_komplettsicherung$ ls -l
insgesamt 20
-rwxr-xr-x 1 roman users 1899  9. Apr 13:25 __delta_tar_gross_mit_entpackung.bat
-rwxr-xr-x 1 roman users 2392 14. Apr 17:14 delta_tar_gross_ohne_entpackung.bat
-rwxr-xr-x 1 roman users 1902 12. Apr 06:49 delta_tar_gross_ohne_entpackung.bat~
-rwxr-xr-x 1 roman users 1335 10. Jän 15:34 __dg1.bat
-rwxr-xr-x 1 roman users 1395 10. Jän 16:00 __dg2.bat
roman@luna:/nano/buero/so/software/sicherung/delta/mit_tar/ab_letzter_komplettsicherung$
Das ist ja meiner Auffassung nach zumindest teilweise unsortiert (1x __....... am Anfang und 2x __.... am Ende) :?:

Gruß,
Roman
Zuletzt geändert von ropri8 am 05.05.2011 05:38:42, insgesamt 1-mal geändert.

yeti

Re: Sortierreihenfolge beim Befehl ls -l

Beitrag von yeti » 03.05.2011 15:39:09

Der "_" scheint in der eingestellten Locale echlicht ignoriert zu werden.

Probier mal ...

Code: Alles auswählen

LANG= ls -l
#    ^
#    |___ Leerzeichen
Das gab mir auch irgendwann schonmal zu denken:

Code: Alles auswählen

(yeti@xs3:2)/tmp/xxx$ touch a b c _a _b _c
(yeti@xs3:2)/tmp/xxx$ echo $LANG
de_DE.UTF-8
(yeti@xs3:2)/tmp/xxx$ ls -l
insgesamt 0
-rw-r--r-- 1 yeti yeti 0  3. Mai 15:40 a
-rw-r--r-- 1 yeti yeti 0  3. Mai 15:40 _a
-rw-r--r-- 1 yeti yeti 0  3. Mai 15:40 b
-rw-r--r-- 1 yeti yeti 0  3. Mai 15:40 _b
-rw-r--r-- 1 yeti yeti 0  3. Mai 15:40 c
-rw-r--r-- 1 yeti yeti 0  3. Mai 15:40 _c
(yeti@xs3:2)/tmp/xxx$ LANG= ls -l
total 0
-rw-r--r-- 1 yeti yeti 0 May  3 15:40 _a
-rw-r--r-- 1 yeti yeti 0 May  3 15:40 _b
-rw-r--r-- 1 yeti yeti 0 May  3 15:40 _c
-rw-r--r-- 1 yeti yeti 0 May  3 15:40 a
-rw-r--r-- 1 yeti yeti 0 May  3 15:40 b
-rw-r--r-- 1 yeti yeti 0 May  3 15:40 c

Benutzeravatar
Meillo
Moderator
Beiträge: 9280
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Sortierreihenfolge beim Befehl ls -l

Beitrag von Meillo » 03.05.2011 16:23:46

LC_COLLATE entscheidet ueber die Sortierung. Wenn du LANG umstellst, dann ist alles, also z.B. auch das Datum, anders. Wenn du ASCII-Sortierung willst, dann verwende das Locale `C':

Code: Alles auswählen

LC_COLLATE=C ls -l
Use ed once in a while!

ropri8
Beiträge: 85
Registriert: 22.02.2008 08:37:56

Re: Sortierreihenfolge beim Befehl ls -l

Beitrag von ropri8 » 05.05.2011 05:37:51

Hallo!
Vielen Dank für eure Hilfe - ich hab' damit das Problem lösen können!

Ich hab' jetzt in /etc/default/locale die Zeile

Code: Alles auswählen

LC_COLLATE="C"
hinzugefügt, und damit wird nun der "_" bei der Sortierung berücksichtigt.

Gruß,
Roman

Antworten