[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Paketliste nach Versionsnummern sortieren



Title: Re: Paketliste nach Versionsnummern sortieren

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


Reply to: