linux sort command


 
Thread Tools Search this Thread
Homework and Emergencies Homework & Coursework Questions linux sort command
# 1  
Old 10-01-2012
linux sort command

This is the question being asked: (Sort your data file by last name first, then by the first name second - save as first_last.) I am not quite sure of the type of sort I am being asked to perform. I have read the man pages of the sort command a few times, as well as searching online for possible solutions and I have found neither. Here's an example file with which I have come up with to try and solve the above:

sort -nrk3 phone_list.txt > first_last
Mark Jacobs 01
Mark Davis 03
Kerry Wild 05
Parker Jacobs 08

Valencia Community College. Orlando, FL USA. Prof. D. Weeks. COP-2341-12143.
# 2  
Old 10-01-2012
I think it can't be achieved with single sort run. This works, but I don't know if it is not too complicated for your course. Anyway here it is:
Code:
awk '{print $2}' filename | sort | uniq | while read last_name; do awk -vn=$last_name '$2==n' filename | sort -k1; done

This User Gave Thanks to bartus11 For This Post:
# 3  
Old 10-01-2012
I tried your script but when I pipe file 1 into file 2 I get fatal cannot open file 2 for reading(no such file or directory). I created file 2 & tried it again after the error to see if it would work but it still failed to pipe into file 2. I initially thought awk was the solution also but this is an introductory Linux course so I felt the same way you did about the complexity of the question. Thanks for your help. I'll keep trying and hopefully I'll get it soon.
# 4  
Old 10-01-2012
To pipe the output to another file:
Code:
awk '{print $2}' filename | sort | uniq | while read last_name; do awk -vn=$last_name '$2==n' filename | sort -k1; done > first_last

This User Gave Thanks to bartus11 For This Post:
# 5  
Old 10-01-2012
I must be missing something very basic here. Assuming that the first field in your input file is the first name and the second field in your input file is the last name, why isn't:
Code:
sort -k2 phone_list.txt > first_last

sufficient.
This User Gave Thanks to Don Cragun For This Post:
# 6  
Old 10-01-2012
Try running that code on a bit modified input:
Code:
Mark Jacobs 01
Mark Davis 03
Kerry Wild 05
Parker Jacobs 08
Adam Jacobs 08

Notice where "Adam" is placed.
These 2 Users Gave Thanks to bartus11 For This Post:
# 7  
Old 10-01-2012
You're right. I'm not doing well today... Once more:
Quote:
sort -k2,2 phone_list.txt > first_last
This User Gave Thanks to Don Cragun For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Help with sort in Linux

Hi everyone, I have a text file with this following format: w m a c G + V b y + d f e t I'd like to sort it to a file with the following format (same number of lines, same number of fields, but all fields are sorted alphabetically) G V a b c + d e f + m t w y I... (7 Replies)
Discussion started by: roseriver
7 Replies

2. UNIX for Dummies Questions & Answers

LINUX SORT command chops results

I am trying to sort a file . The file looks like this: DDFF 2 /ztpfrepos/pgr/load DDFQ 2 /ztpfrepos/pgr/load DDFX 2 /ztpfrepos/pgr/load DDUA 2 /ztpfrepos/pgr/load My command: sort -k1 /home/c153507/Bin/OPL1.txt -o /home/c153507/Bin/OPL1.txt The results are OK except for one line where... (4 Replies)
Discussion started by: Yahalom
4 Replies

3. Linux

sort command in centos linux os

Iam working on centos os. Iam not able to sort records without option Please help me out Jayaprakash B. (1 Reply)
Discussion started by: jpachar
1 Replies

4. Shell Programming and Scripting

Help to sort out... Possible use of sort command

I have an input like 4.3.6.66 4.3.6.67 4.3.6.70 4.3.6.25 4.3.6.15 4.3.6.54 4.3.6.44 4.3.6.34 4.3.6.24 4.3.6.14 4.3.6.53 4.3.6.43 4.3.6.49 4.3.6.33 4.3.6.52 4.3.6.19 4.3.6.58 4.3.6.42 (5 Replies)
Discussion started by: dnam9917
5 Replies

5. Shell Programming and Scripting

Is it Possible to sort a list of hexadecimal numbers using "sort" command?

Hello Everybody :) !!!. i have question in mind, is it possible to sort a list of hexadecimal numbers using "sort" command? (9 Replies)
Discussion started by: Kesavan
9 Replies

6. UNIX for Dummies Questions & Answers

linux sort command produces strange output

cat a .a ba .b bb .c bc sort a .a .b ba bb bc .c NOTE: .a and .b appears before ba and bb, where as .c appears after bc. In general (3 Replies)
Discussion started by: ajb
3 Replies

7. Shell Programming and Scripting

difference in unix vs. linux sort

Hi, I am using some codes that have been ported from unix to linux, and now the sorting no longer results in the desired ordering. I'm hoping to find a way to mimic the unix sort command in linux. The input file is structured the following: $> cat file.txt... (6 Replies)
Discussion started by: aj.schaeffer
6 Replies

8. 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

9. UNIX for Dummies Questions & Answers

Linux Sort command

Hello! Can anybody explain in laymen terms what the (+) option in the sort command for Linux does? Please. Thanks in advance!!:D (1 Reply)
Discussion started by: itisijayare
1 Replies
Login or Register to Ask a Question