Sorting the records for a file


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Sorting the records for a file
# 1  
Old 11-01-2010
Sorting the records for a file

hi,
Please suggest me how to do this logic
say i am dynamically taking a file name into the script.
when ever a file name it should sort the all the records based on the first character in every line except the heading line and ending line.
for example
file1
heading
bshdshdskjadkljaslkdj
adjnsjkdnsjdnjkdksljd
ckjdkljdkljlkdjkl;skjd;l
ending notes

o/p

file1
heading
adjnsjkdnsjdnjkdksljd
bshdshdskjadkljaslkdj
ckjdkljdkljlkdjkl;skjd;l
ending notes
regards
Angel
# 2  
Old 11-01-2010
To really sort only on the first character an leave the order in tact for all the characters that follow you would need to use stable sort. In GNU sort this is the -s option. You would have to look up the equivalent option in your sort with man sort.
Code:
head -1 file > file.out
sed '1d;$d' file | sort -s -k1.1,1.1 >> file.out
tail -1 file >> file.out

If you need a regular sort you can replace the middle line with:
Code:
sed '1d;$d' file | sort  >> file.out

If you need a regular sort and the ; is a field separator you can replace the middle line with:
Code:
sed '1d;$d' file | sort -t';' >> file.out

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Sorting a file of book records

I have a texinfo file containing book records and I want to sort them. An example is shown below. Records are separated by two blank lines. The sort pattern I want to sort is starting from the beginning of the year declaration and finishing at the beginning of the book title where I use the... (4 Replies)
Discussion started by: Danette
4 Replies

2. Shell Programming and Scripting

Sorting group of records and loading last record

Hi Everyone, I have below record set. File is fixed widht file 101newjersyus 20150110 101nboston us 20150103 102boston us 20140106 102boston us 20140103 I need to group record based on first 3 letters in our case(101 and 102) and sort last 8 digit in ascending order and print only... (4 Replies)
Discussion started by: patricjemmy6
4 Replies

3. Shell Programming and Scripting

Separate records of a file on 2 types of records

Hi I am new to shell programming in unix Please if I can provide help. I have a file structure of a header record and "N" detail records. The header record will be the total number of detail records I need to split the file in 2: One for the header Another for all detail records Could... (1 Reply)
Discussion started by: jamcogar
1 Replies

4. Shell Programming and Scripting

Deleting duplicate records from file 1 if records from file 2 match

I have 2 files "File 1" is delimited by ";" and "File 2" is delimited by "|". File 1 below (3 record shown): Doc1;03/01/2012;New York;6 Main Street;Mr. Smith 1;Mr. Jones Doc2;03/01/2012;Syracuse;876 Broadway;John Davis;Barbara Lull Doc3;03/01/2012;Buffalo;779 Old Windy Road;Charles... (2 Replies)
Discussion started by: vestport
2 Replies

5. UNIX for Dummies Questions & Answers

Grep specific records from a file of records that are separated by an empty line

Hi everyone. I am a newbie to Linux stuff. I have this kind of problem which couldn't solve alone. I have a text file with records separated by empty lines like this: ID: 20 Name: X Age: 19 ID: 21 Name: Z ID: 22 Email: xxx@yahoo.com Name: Y Age: 19 I want to grep records that... (4 Replies)
Discussion started by: Atrisa
4 Replies

6. Shell Programming and Scripting

Sorting the records in the Flat file

Hi all, I am using this command "sort -d -u -k1 IMSTEST.74E -o tmp.txt" to the records in the flat. Can any tell me how to sort the file except first line in the file For ex: i/p First line: DXYZ Second line : jumy third : cmhk fourth : andy Output should... (5 Replies)
Discussion started by: sudhir_barker
5 Replies

7. Shell Programming and Scripting

Based on num of records in file1 need to check records in file2 to set some condns

Hi All, I have two files say file1 and file2. I want to check the number of records in file1 and if its atleast 2 (i.e., 2 or greater than 2 ) then I have to check records in file2 .If records in file2 is atleast 1 (i.e. if its not empty ) i have to set some conditions . Could you pls... (3 Replies)
Discussion started by: mavesum
3 Replies

8. UNIX for Advanced & Expert Users

Records mismatch while sorting in MPRAS and SunOS

Hi, As part of migrating a script from SunOS to MP RAS, the following script is not functioning in desired way. sort -t\| -u +6 -7 +12 -14 textfile1.out > \ textfile2uniq.out The -u is fetching unique records differently on SunOS and MP RAS Pentium IV. And thus the records... (1 Reply)
Discussion started by: RRVARMA
1 Replies

9. UNIX for Dummies Questions & Answers

Use records from one file to delete records in another file

file_in_1: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 file_in_2: 9 10 11 12 21 22 23 24 1 2 3 4 17 18 19 20 file_out: (5 Replies)
Discussion started by: kenneth.mcbride
5 Replies

10. Shell Programming and Scripting

Count No of Records in File without counting Header and Trailer Records

I have a flat file and need to count no of records in the file less the header and the trailer record. I would appreciate any and all asistance Thanks Hadi Lalani (2 Replies)
Discussion started by: guiguy
2 Replies
Login or Register to Ask a Question