Stable sort


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Stable sort
# 1  
Old 08-21-2008
Stable sort

if i use this pattern: last -R

I get this:

vsetm7am pts/2 Thu Aug 21 14:33 still logged in
vsetm7am pts/0 Thu Aug 21 13:21 still logged in
hoffp7am pts/2 Thu Aug 21 11:40 - 11:41 (00:00)
vsetm7am pts/1 Thu Aug 21 11:11 still logged in
vsetm7am pts/0 Thu Aug 21 09:51 - 13:21 (03:30)
valcj4am pts/2 Thu Aug 21 02:06 - 02:06 (00:00)
vsetm7am pts/0 Thu Aug 21 00:40 - 03:01 (02:20)
vsetm7am pts/1 Wed Aug 20 21:03 - 03:01 (05:58)
vsetm7am pts/0 Wed Aug 20 20:54 - 21:18 (00:23)
vsetm7am pts/1 Wed Aug 20 17:17 - 21:03 (03:45)
vsetm7am pts/0 Wed Aug 20 13:12 - 20:40 (07:27)
valcj4am pts/0 Wed Aug 20 02:05 - 02:06 (00:00)
vsetm7am pts/0 Tue Aug 19 21:02 - 21:40 (00:38)
vsetm7am pts/1 Tue Aug 19 17:32 - 17:53 (00:21)
vsetm7am pts/2 Tue Aug 19 12:52 - 20:11 (07:18)
vsetm7am pts/1 Tue Aug 19 12:21 - 13:08 (00:47)
vsetm7am pts/0 Tue Aug 19 12:21 - 20:11 (07:49)
valcj4am pts/2 Tue Aug 19 02:05 - 02:06 (00:00)
vsetm7am pts/2 Mon Aug 18 19:26 - 19:26 (00:00)
vsetm7am pts/1 Mon Aug 18 19:23 - 03:13 (07:49)
vsetm7am pts/2 Mon Aug 18 19:22 - 19:22 (00:00)
vsetm7am pts/2 Mon Aug 18 19:15 - 19:15 (00:00)
vsetm7am pts/2 Mon Aug 18 19:15 - 19:15 (00:00)
vsetm7am pts/1 Mon Aug 18 18:40 - 19:23 (00:42)
vsetm7am pts/0 Mon Aug 18 18:40 - 03:04 (08:24)
vsetm7am pts/1 Mon Aug 18 18:37 - 18:40 (00:02)
vsetm7am pts/2 Mon Aug 18 18:33 - 18:40 (00:06)
vsetm7am pts/2 Mon Aug 18 18:26 - 18:26 (00:00)
vsetm7am pts/1 Mon Aug 18 18:25 - 18:33 (00:08)
vsetm7am pts/0 Mon Aug 18 18:20 - 18:40 (00:19)
vsetm7am pts/2 Mon Aug 18 18:08 - 18:19 (00:11)
vsetm7am pts/2 Mon Aug 18 18:05 - 18:05 (00:00)
vsetm7am pts/0 Mon Aug 18 17:44 - 18:19 (00:35)
vsetm7am pts/1 Mon Aug 18 15:46 - 18:19 (02:33)
vsetm7am pts/1 Mon Aug 18 15:45 - 15:46 (00:00)
vsetm7am pts/0 Mon Aug 18 12:21 - 17:44 (05:22)
valcj4am pts/0 Mon Aug 18 02:02 - 02:02 (00:00)
vsetm7am pts/0 Sun Aug 17 12:51 - 22:30 (09:38)
kavkm2am pts/0 Sun Aug 17 09:39 - 09:39 (00:00)
valcj4am pts/0 Sun Aug 17 02:05 - 02:06 (00:00)
tutan4am pts/0 Sat Aug 16 12:14 - 12:17 (00:03)
mlejj5am pts/0 Sat Aug 16 12:00 - 12:00 (00:00)
valcj4am pts/0 Sat Aug 16 02:05 - 02:06 (00:00)
kotrj7am pts/0 Fri Aug 15 17:31 - 17:50 (00:19)
valcj4am pts/0 Fri Aug 15 02:05 - 02:05 (00:00)
valcj4am pts/0 Thu Aug 14 02:05 - 02:06 (00:00)
valcj4am pts/0 Wed Aug 13 02:05 - 02:06 (00:00)
valcj4am pts/0 Tue Aug 12 02:05 - 02:06 (00:00)
mlejj5am pts/0 Mon Aug 11 12:44 - 12:53 (00:09)
valcj4am pts/0 Mon Aug 11 02:05 - 02:06 (00:00)
valcj4am pts/0 Sat Aug 9 02:06 - 02:06 (00:00)
valcj4am pts/0 Thu Aug 7 02:05 - 02:05 (00:00)
suskm3am tty11 Wed Aug 6 16:43 - 16:49 (00:05)
valcj4am pts/0 Wed Aug 6 02:05 - 02:05 (00:00)
valcj4am pts/0 Tue Aug 5 02:05 - 02:05 (00:00)
valcj4am pts/0 Mon Aug 4 02:05 - 02:05 (00:00)
suflp4am pts/0 Sun Aug 3 21:12 - 22:52 (01:39)
suflp4am pts/0 Sun Aug 3 21:07 - 21:10 (00:02)
suflp4am pts/0 Sun Aug 3 13:39 - 14:20 (00:41)
valcj4am pts/1 Sun Aug 3 02:05 - 02:05 (00:00)
valcj4am pts/1 Sat Aug 2 02:04 - 02:05 (00:00)
suskm3am tty11 Fri Aug 1 11:42 - 12:31 (00:49)

When I use pattern like this: last -R | sort -s -t " " -k 1

I get this output:

hoffp7am pts/2 Thu Aug 21 11:40 - 11:41 (00:00)
kavkm2am pts/0 Sun Aug 17 09:39 - 09:39 (00:00)
kotrj7am pts/0 Fri Aug 15 17:31 - 17:50 (00:19)
mlejj5am pts/0 Mon Aug 11 12:44 - 12:53 (00:09)
mlejj5am pts/0 Sat Aug 16 12:00 - 12:00 (00:00)
suflp4am pts/0 Sun Aug 3 13:39 - 14:20 (00:41)
suflp4am pts/0 Sun Aug 3 21:07 - 21:10 (00:02)
suflp4am pts/0 Sun Aug 3 21:12 - 22:52 (01:39)
suskm3am tty11 Fri Aug 1 11:42 - 12:31 (00:49)
suskm3am tty11 Wed Aug 6 16:43 - 16:49 (00:05)
tutan4am pts/0 Sat Aug 16 12:14 - 12:17 (00:03)
valcj4am pts/0 Fri Aug 15 02:05 - 02:05 (00:00)
valcj4am pts/0 Mon Aug 4 02:05 - 02:05 (00:00)
valcj4am pts/0 Mon Aug 11 02:05 - 02:06 (00:00)
valcj4am pts/0 Mon Aug 18 02:02 - 02:02 (00:00)
valcj4am pts/0 Sat Aug 9 02:06 - 02:06 (00:00)
valcj4am pts/0 Sat Aug 16 02:05 - 02:06 (00:00)
valcj4am pts/0 Sun Aug 17 02:05 - 02:06 (00:00)
valcj4am pts/0 Thu Aug 7 02:05 - 02:05 (00:00)
valcj4am pts/0 Thu Aug 14 02:05 - 02:06 (00:00)
valcj4am pts/0 Tue Aug 5 02:05 - 02:05 (00:00)
valcj4am pts/0 Tue Aug 12 02:05 - 02:06 (00:00)
valcj4am pts/0 Wed Aug 6 02:05 - 02:05 (00:00)
valcj4am pts/0 Wed Aug 13 02:05 - 02:06 (00:00)
valcj4am pts/0 Wed Aug 20 02:05 - 02:06 (00:00)
valcj4am pts/1 Sat Aug 2 02:04 - 02:05 (00:00)
valcj4am pts/1 Sun Aug 3 02:05 - 02:05 (00:00)
valcj4am pts/2 Thu Aug 21 02:06 - 02:06 (00:00)
valcj4am pts/2 Tue Aug 19 02:05 - 02:06 (00:00)
vsetm7am pts/0 Mon Aug 18 12:21 - 17:44 (05:22)
vsetm7am pts/0 Mon Aug 18 17:44 - 18:19 (00:35)
vsetm7am pts/0 Mon Aug 18 18:20 - 18:40 (00:19)
vsetm7am pts/0 Mon Aug 18 18:40 - 03:04 (08:24)
vsetm7am pts/0 Sun Aug 17 12:51 - 22:30 (09:38)
vsetm7am pts/0 Thu Aug 21 00:40 - 03:01 (02:20)
vsetm7am pts/0 Thu Aug 21 09:51 - 13:21 (03:30)
vsetm7am pts/0 Thu Aug 21 13:21 still logged in
vsetm7am pts/0 Tue Aug 19 12:21 - 20:11 (07:49)
vsetm7am pts/0 Tue Aug 19 21:02 - 21:40 (00:38)
vsetm7am pts/0 Wed Aug 20 13:12 - 20:40 (07:27)
vsetm7am pts/0 Wed Aug 20 20:54 - 21:18 (00:23)
vsetm7am pts/1 Mon Aug 18 15:45 - 15:46 (00:00)
vsetm7am pts/1 Mon Aug 18 15:46 - 18:19 (02:33)
vsetm7am pts/1 Mon Aug 18 18:25 - 18:33 (00:08)
vsetm7am pts/1 Mon Aug 18 18:37 - 18:40 (00:02)
vsetm7am pts/1 Mon Aug 18 18:40 - 19:23 (00:42)
vsetm7am pts/1 Mon Aug 18 19:23 - 03:13 (07:49)
vsetm7am pts/1 Thu Aug 21 11:11 still logged in
vsetm7am pts/1 Tue Aug 19 12:21 - 13:08 (00:47)
vsetm7am pts/1 Tue Aug 19 17:32 - 17:53 (00:21)
vsetm7am pts/1 Wed Aug 20 17:17 - 21:03 (03:45)
vsetm7am pts/1 Wed Aug 20 21:03 - 03:01 (05:58)
vsetm7am pts/2 Mon Aug 18 18:05 - 18:05 (00:00)
vsetm7am pts/2 Mon Aug 18 18:08 - 18:19 (00:11)
vsetm7am pts/2 Mon Aug 18 18:26 - 18:26 (00:00)
vsetm7am pts/2 Mon Aug 18 18:33 - 18:40 (00:06)
vsetm7am pts/2 Mon Aug 18 19:15 - 19:15 (00:00)
vsetm7am pts/2 Mon Aug 18 19:15 - 19:15 (00:00)
vsetm7am pts/2 Mon Aug 18 19:22 - 19:22 (00:00)
vsetm7am pts/2 Mon Aug 18 19:26 - 19:26 (00:00)
vsetm7am pts/2 Thu Aug 21 14:33 still logged in
vsetm7am pts/2 Tue Aug 19 12:52 - 20:11 (07:18)


And the question is why the stable sort doesn't keep lines with "still logged in" at the beginning of the output of a given name? It should sort output only with respect to first column and still the second column seems to be sorted too.

Thank you!
# 2  
Old 08-21-2008
Code:
 -k keydef          The keydef argument is a restricted  sort
                        key  field definition. The format of this
                        definition is:

                          -k field_start [type] [,field_end [type] ]
.
.
.
                        A missing field_end means the last
                        character of the line.

So you are sorting on everything.
# 3  
Old 08-21-2008
Thank you!

So that the right pattern is:

last -R | sort -s -t " " -k 1,1
Login or Register to Ask a Question

Previous Thread | Next Thread

6 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Use sort to sort numerical column

How to sort the following output based on lowest to highest BE? The following sort does not work. $ sort -t. -k1,1n -k2,2n bfd.txt BE31.116 0s 0s DOWN DAMP BE31.116 0s 0s DOWN DAMP BE31.117 0s 0s ... (7 Replies)
Discussion started by: sand1234
7 Replies

2. Shell Programming and Scripting

Sort help: How to sort collected 'file list' by date stamp :

Hi Experts, I have a filelist collected from another server , now want to sort the output using date/time stamp filed. - Filed 6, 7,8 are showing the date/time/stamp. Here is the input: #---------------------------------------------------------------------- -rw------- 1 root ... (3 Replies)
Discussion started by: rveri
3 Replies

3. Shell Programming and Scripting

Help with sort word and general numeric sort at the same time

Input file: 100%ABC2 3.44E-12 USA A2M%H02579 0E0 UK 100%ABC2 5.34E-8 UK 100%ABC2 3.25E-12 USA A2M%H02579 5E-45 UK Output file: 100%ABC2 3.44E-12 USA 100%ABC2 3.25E-12 USA 100%ABC2 5.34E-8 UK A2M%H02579 0E0 UK A2M%H02579 5E-45 UK Code try: sort -k1,1 -g -k2 -r input.txt... (2 Replies)
Discussion started by: perl_beginner
2 Replies

4. Shell Programming and Scripting

Alternate to sort --random-sort

sort --random-sort The full command is path=`find /testdir -maxdepth 1 -mindepth 1 -type d | ***Some sort of sort function*** | head -1` I have a list I want to randomly sort. It works fine in ubuntu but on a 'osx lion' sort dosen't have the --random-sort option. I don't want to... (5 Replies)
Discussion started by: digitalviking
5 Replies

5. UNIX for Advanced & Expert Users

Script to sort the files and append the extension .sort to the sorted version of the file

Hello all - I am to this forum and fairly new in learning unix and finding some difficulty in preparing a small shell script. I am trying to make script to sort all the files given by user as input (either the exact full name of the file or say the files matching the criteria like all files... (3 Replies)
Discussion started by: pankaj80
3 Replies

6. Shell Programming and Scripting

How to Sort Floating Numbers Using the Sort Command?

Hi to all. I'm trying to sort this with the Unix command sort. user1:12345678:3.5:2.5:8:1:2:3 user2:12345679:4.5:3.5:8:1:3:2 user3:12345687:5.5:2.5:6:1:3:2 user4:12345670:5.5:2.5:5:3:2:1 user5:12345671:2.5:5.5:7:2:3:1 I need to get this: user3:12345687:5.5:2.5:6:1:3:2... (7 Replies)
Discussion started by: daniel.gbaena
7 Replies
Login or Register to Ask a Question