Avatar of mikeydk
mikeydkFlag for Denmark asked on

Sort version numbers - Powershell

Hey

How do I sort version numbers: (in an array)

1.1.0.8400
1.10.0.14127
1.10.1.14414
1.11.0.14649
1.11.1.14865
1.12.0.15302
1.12.1.15602
1.12.1.15662
1.2.0.9064
1.4.0.10352
1.5.0.11365
1.5.0.11534
1.6.0.12058
1.7.0.12519
1.7.1.12780
1.8.0.13165
1.9.0.13640
1.9.1.13731
Powershell

Avatar of undefined
Last Comment
footech

8/22/2022 - Mon
ASKER CERTIFIED SOLUTION
footech

Log in or sign up to see answer
Become an EE member today7-DAY FREE TRIAL
Members can start a 7-Day Free trial then enjoy unlimited access to the platform
Sign up - Free for 7 days
or
Learn why we charge membership fees
We get it - no one likes a content blocker. Take one extra minute and find out why we block content.
See how we're fighting big data
Not exactly the question you had in mind?
Sign up for an EE membership and get your own personalized solution. With an EE membership, you can ask unlimited troubleshooting, research, or opinion questions.
ask a question
aikimark

You may not even have to cast the value as a version
$data | sort

Open in new window

footech

@aikimark - no that doesn't work because with string sorting you will get results like 1.12.1.15662 before 1.2.0.9064.
aikimark

It depends on the source of the data in the array.  If they went in as versions, they shouldn't need casting.  If they came in as strings, then they will need to be cast as version data, either on input (population of the array) or in the Sort operation (as you've shown).
I started with Experts Exchange in 2004 and it's been a mainstay of my professional computing life since. It helped me launch a career as a programmer / Oracle data analyst
William Peck
footech

It's a good point to make that it may be better to cast the data during population of the array.
I assumed that the data in the array is just strings from the way the question was asked, but that could be incorrect.