The time now is Wed 19 Jun 2013, 00:19
All times are UTC - 4 |
| Author |
Message |
sc0ttman

Joined: 16 Sep 2009 Posts: 2199 Location: UK
|
Posted: Thu 07 Feb 2013, 14:59 Post_subject:
script to sort pkg names [SOLVED] Sub_title: how to list newest version first? |
|
I have a problem, and no solution, as yet.
I want to re-order a list, so that the pkgs are listed in alphabetical order, except that I want the newest version first.
If I use `sort|uniq` I get an alphabetical order, but oldest version first.
If I use `sort -r|uniq` I get an reverse alphabetical order, but newest version first.
How do I get normal alphabetical order, and newest version first?
| Code: | # echo "$VAR" | sort
freeciv-1.99
freeciv-2.1
freeciv-2.2
freeciv-3.1
mplayer-1.2.3
mplayer-2.3.4
# echo "$VAR" | sort -r
mplayer-2.3.4
mplayer-1.2.3
freeciv-3.1
freeciv-2.2
freeciv-2.1
freeciv-1.99 |
EDIT: SOLVED!
This solves it (modified from 3rd post.. added quotes to $VAR.. necessary?):
| Code: | | echo "$VAR" | sort --field-separator='-' -k1,1d -k2gr |
_________________ Akita Linux, VLC-GTK, Pup Search, Pup File Search
Edited_times_total
|
|
Back to top
|
|
 |
GustavoYz

Joined: 07 Jul 2010 Posts: 868 Location: .ar
|
Posted: Thu 07 Feb 2013, 15:22 Post_subject:
|
|
Deleted...
_________________

Edited_times_total
|
|
Back to top
|
|
 |
GustavoYz

Joined: 07 Jul 2010 Posts: 868 Location: .ar
|
Posted: Thu 07 Feb 2013, 15:50 Post_subject:
|
|
Just realize that will fail anyway.
More like this one:
| Code: | | echo $VAR | sort --field-separator='-' -k1,1d -k2gr |
_________________

|
|
Back to top
|
|
 |
sunburnt

Joined: 08 Jun 2005 Posts: 4015 Location: Arizona, U.S.A.
|
Posted: Fri 08 Feb 2013, 03:37 Post_subject:
|
|
Hi sc0ttman; Did you try -n for numeric sort?
You`ll need to put it in a loop to isolate the package names and then sort each of them numerically.
It works in my tests.
|
|
Back to top
|
|
 |
sc0ttman

Joined: 16 Sep 2009 Posts: 2199 Location: UK
|
Posted: Fri 08 Feb 2013, 20:30 Post_subject:
|
|
Hi guys..
sunburnt, I know *nothing* about 'sort' and so had tried nowt when posting... I then saw the replies and went and did some experiments... Only using -n, without the -k1 -k2 stuff, worked when stripping out the names entirely, but mixing it all back up again looked daunting!
Again, I know nothing about this, so I might have it wrong.
GustavoYz, that works well, not perfect, but good enough! As far as I can tell, any version numbers that are immediately followed by letters, rather than a dash or underscore etc, do not go where I want, but that's fine... I can live with that.
_________________ Akita Linux, VLC-GTK, Pup Search, Pup File Search
|
|
Back to top
|
|
 |
GustavoYz

Joined: 07 Jul 2010 Posts: 868 Location: .ar
|
Posted: Fri 08 Feb 2013, 21:15 Post_subject:
|
|
The thing is that it requires two tipes of sorting, in hierarchical order: alphabetical and then numeric.
| Quote: | | [..]As far as I can tell, any version numbers that are immediately followed by letters, rather than a dash or underscore etc, do not go where I want[...] |
Yes, if no field separator that could work as a pattern on each filename, it wont work.
I think there is no way if wont split the name in fields somewhere and somehow if it has to be by just using sort, as far as I know.
Hope it works.
_________________

|
|
Back to top
|
|
 |
|
|
|
Rules_post_cannot Rules_reply_cannot Rules_edit_cannot Rules_delete_cannot Rules_vote_cannot You cannot attach files in this forum You can download files in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|