Bei mir funktioniert es richtig -- auch mit einstelligen Tagesnummern. Um einen Fehler durch die Akzente auszuschließen könntest Du mal
LANG=C ls -l /usr/bin/ | sort -nrk 5 | head -n 30
probieren.
Hallo,
es funktioniert. Aber ich ziehe in Zweifel, dass es mit Akzenten zu tun hat (ich hatte eigentlich auch daran gedacht) , sondern mehr mit dem Folgenden Feld.
Der alte Befehl ls -l /usr/bin/ | sort -nrk 5 | head ergibt:
thierry@localhost:~> ls -l /usr/bin/ | sort -nrk 5 | head
-rwxr-xr-x 1 root root 15182904 12 mai 2020 flashplayer
-rwxr-xr-x 1 root root 9441608 25 juin 2020 gimp-2.10
-rwxr-xr-x 1 root root 6323384 16 mai 2020 librecad
-rwxr-xr-x 1 root root 3625200 15 juin 2020 kleopatra
-rwxr-xr-x 1 root root 3589528 25 juin 2020 gimp-console-2.10
-rwxr-xr-x 1 root root 3188584 16 mai 2020 konversation
-rwxr-xr-x 1 root root 3159680 28 oct. 14:01 zypper
-rwxr-xr-x 1 root root 2992656 23 nov. 23:59 vim-nox11
-rwxr-xr-x 1 root root 2496112 10 oct. 02:57 Xvnc
-rwxr-xr-x 1 root root 22878400 2 déc. 15:13 mariabackup
Alles anzeigen
Mit LANG=C ls -l /usr/bin/ | sort -nrk 5 | head :
thierry@localhost:~> LANG=C ls -l /usr/bin/ | sort -nrk 5 | head
-rwxr-xr-x 1 root root 22878400 Dec 2 15:13 mariabackup
-rwxr-xr-x 1 root root 15182904 May 12 2020 flashplayer
-rwxr-xr-x 1 root root 12165480 Jun 9 2020 gdb
-rwxr-xr-x 1 root root 9441608 Jun 25 2020 gimp-2.10
-rwxr-xr-x 1 root root 9112288 Dec 7 23:28 ld.bfd
-rwxr-xr-x 1 root root 6323384 May 16 2020 librecad
-rwxr-xr-x 1 root root 5123096 Dec 2 15:13 mysql_ldb
-rwxr-xr-x 1 root root 5123072 Dec 2 15:13 sst_dump
-rwxr-xr-x 1 root root 4508080 Dec 2 15:13 aria_chk
-rwxr-xr-x 1 root root 4466416 Dec 2 15:13 aria_read_log
Alles anzeigen
Die Daten beginnen nun mit Buchstaben, nicht mehr mit der Tagesnummer. Es ergibt sich, meiner Meinung nach, dass 'sort' nur das Feld 5 in Betracht zieht zum sortieren.
======================================
Wie giff (Gisela) erwähnt hat, suchte 'sort -n' nach den nächsten Feldern, wenn sie Zahlen enthalten.
Ich habe eine kleine (nicht sehr
) vom oben genannten Beispiel unabhängige Datei erzeugt, die ausschließlich Zahlen enthält.
Die Datei heißt: tri_sort.txt
Dann habe ich ohne und mit 'LANG=C' sortiert
1. tri_sort.txt
thierry@localhost:~> cat tri_sort.txt
10 0
10 0
10 0
10
10 0
10 00
10 00
100
11 0
11
1 1
1 01
1 00
1 1
1 0
1 00
1 1 0
0 0 1
1 0 1
1 0 1
1 0 1
00 1
0 1
0 0 0
0 01
01
100 0
1 0 0
1 00
1 0 0
1 00
1 0 0
1 00
1 0 0
1 00
1 0 0
1 00
1 0 0
1 00
1 0 0
1 00
1 0 0
1 00
1 0 0
1 00
1 0 0
1 00
1 0 0
1 00
Alles anzeigen
2. sort -nr tri_sort.txt
thierry@localhost:~> sort -nr tri_sort.txt
100 0
10 00
10 00
11 0
1 1 0
1 0 1
1 0 1
1 0 1
1 01
10 0
10 0
10 0
10 0
1 0 0
1 0 0
1 0 0
1 0 0
1 0 0
1 0 0
1 0 0
1 0 0
1 0 0
1 0 0
1 0 0
1 00
1 00
1 00
1 00
1 00
1 00
1 00
1 00
1 00
1 00
1 00
1 00
1 00
100
1 1
1 1
11
10
1 0
0 1
01
00 1
0 0 1
0 01
0 0 0
Alles anzeigen
3. LANG=C sort -nr tri_sort.txt
thierry@localhost:~> LANG=C sort -nr tri_sort.txt
100 0
100
11 0
11
10 00
10 0
10 00
10 0
10 0
10 0
10
1 1 0
1 1
1 00
1 00
1 00
1 00
1 00
1 00
1 00
1 00
1 00
1 00
1 00
1 00
1 0 0
1 0 0
1 0 0
1 0 0
1 0 0
1 0 0
1 0 0
1 0 0
1 0 0
1 0 0
1 0 0
1 0 1
1 1
1 01
1 00
1 0 1
1 0
1 0 1
01
00 1
0 01
0 0 1
0 0 0
0 1
Alles anzeigen
Obwohl die Ergebnisse (bei mir) von 'sort -nr' ohne oder mit 'LANG=C' unterschiedlich sind, ist es festzustellen, dass 'sort -n', ohne oder mit 'LANG=C', alle Zahlen und alle Blanks irgendwie behandelt.
Zusammenfassend muss man mit 'sort -n' sehr vorsichtig sein…
Bemerkungen:
der folgende Befel funktioniert bei mir:
ls -l /usr/bin/ | sort -k5,5nr | head
oder der Befehl (mit -g anstatt -n):
thierry@localhost:~> ls -l /usr/bin/ | sort -grk 5 | head
PS: ich probiere heute Abend mit meinem anderen Computer (Alle ist auf Deutsch konfiguriert). Er ist zurzeit wegen Home-Office von meiner Freundin besetzt