Hallo!
On 12/06/2017 10:06:58 AM, Uwe Kleine-König wrote:
> Hallo,
>
> On 12/05/2017 08:36 PM, Christian Knoke wrote:
> > Andreas Schmidt schrieb am 04. Dez um 18:05 Uhr:
> >>
> >> Wie stelle ich es an, dass ich die Liste korrekt sortiert bekomme?
> >
> > ich vermute, auch sort -g -r tut, was du willst.
>
> Ich weiß den Unterschied nicht spontan, aber vielleicht ist sort -V
> besser als sort -g?
In diesem Fall ist tatsächlich "ls -v" besser geeignet als "sort -g". Ein Beispiel:
Ausgangssituation -- "alphabetische" Sortierung
***
pc@debian:/tmp$ for i in `numrange 1..20`; do echo $i; done | sort
1
10
11
12
13
14
15
16
17
18
19
2
20
3
4
5
6
7
8
9
pc@debian:/tmp$
***
Verbesserung -- general numeric sort
***
pc@debian:/tmp$ for i in `numrange 1..20`; do echo $i; done | sort -g
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
pc@debian:/tmp$
***
Test mit Paketnamen (sort, sort -g)
***
pc@debian:/tmp$ for i in `numrange 1..20`; do touch dummy_0.37-${i}+b1_amd64.deb; done
pc@debian:/tmp$ ls dummy_0.37-* | sort
dummy_0.37-10+b1_amd64.deb
dummy_0.37-11+b1_amd64.deb
dummy_0.37-12+b1_amd64.deb
dummy_0.37-13+b1_amd64.deb
dummy_0.37-14+b1_amd64.deb
dummy_0.37-15+b1_amd64.deb
dummy_0.37-16+b1_amd64.deb
dummy_0.37-17+b1_amd64.deb
dummy_0.37-18+b1_amd64.deb
dummy_0.37-19+b1_amd64.deb
dummy_0.37-1+b1_amd64.deb
dummy_0.37-20+b1_amd64.deb
dummy_0.37-2+b1_amd64.deb
dummy_0.37-3+b1_amd64.deb
dummy_0.37-4+b1_amd64.deb
dummy_0.37-5+b1_amd64.deb
dummy_0.37-6+b1_amd64.deb
dummy_0.37-7+b1_amd64.deb
dummy_0.37-8+b1_amd64.deb
dummy_0.37-9+b1_amd64.deb
pc@debian:/tmp$ ls dummy_0.37-* | sort -g
dummy_0.37-10+b1_amd64.deb
dummy_0.37-11+b1_amd64.deb
dummy_0.37-12+b1_amd64.deb
dummy_0.37-13+b1_amd64.deb
dummy_0.37-14+b1_amd64.deb
dummy_0.37-15+b1_amd64.deb
dummy_0.37-16+b1_amd64.deb
dummy_0.37-17+b1_amd64.deb
dummy_0.37-18+b1_amd64.deb
dummy_0.37-19+b1_amd64.deb
dummy_0.37-1+b1_amd64.deb
dummy_0.37-20+b1_amd64.deb
dummy_0.37-2+b1_amd64.deb
dummy_0.37-3+b1_amd64.deb
dummy_0.37-4+b1_amd64.deb
dummy_0.37-5+b1_amd64.deb
dummy_0.37-6+b1_amd64.deb
dummy_0.37-7+b1_amd64.deb
dummy_0.37-8+b1_amd64.deb
dummy_0.37-9+b1_amd64.deb
pc@debian:/tmp$
***
Test mit Paketnamen (ls -v)
***
pc@debian:/tmp$ ls -v1 dummy_0.37-*
dummy_0.37-1+b1_amd64.deb
dummy_0.37-2+b1_amd64.deb
dummy_0.37-3+b1_amd64.deb
dummy_0.37-4+b1_amd64.deb
dummy_0.37-5+b1_amd64.deb
dummy_0.37-6+b1_amd64.deb
dummy_0.37-7+b1_amd64.deb
dummy_0.37-8+b1_amd64.deb
dummy_0.37-9+b1_amd64.deb
dummy_0.37-10+b1_amd64.deb
dummy_0.37-11+b1_amd64.deb
dummy_0.37-12+b1_amd64.deb
dummy_0.37-13+b1_amd64.deb
dummy_0.37-14+b1_amd64.deb
dummy_0.37-15+b1_amd64.deb
dummy_0.37-16+b1_amd64.deb
dummy_0.37-17+b1_amd64.deb
dummy_0.37-18+b1_amd64.deb
dummy_0.37-19+b1_amd64.deb
dummy_0.37-20+b1_amd64.deb
pc@debian:/tmp$
***
Laut `man ls` aktiviert die Option -v "natural sort of (version) numbers within text". Fazit: "sort -g" ist ideal, um reine Zahlenlisten numerisch zu sortieren, bringt aber nichts, wenn die Zahlen in Text eingebettet sind.
Beste Grüße
Andreas
Attachment:
pgpECBWR67dSW.pgp
Description: PGP signature