sorting a fixed width seq file


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting sorting a fixed width seq file
# 1  
Old 12-27-2010
sorting a fixed width seq file

I have a file like this...

Code:
2183842512010-11-25   15379043  453130325
2386225062010-11-30    4946518  495952336
2386225062010-11-30    4946518  495952345
2386225062010-11-25  262066688 -516224026
2679350512010-11-25  262066688 -516224124
3196089062010-11-25  262066688  203238229
3447672592010-11-25  262066688 -516224128
3902366362010-11-25  262066688 -516224276

I wantr to sort the file based on two fields :-
a) first field position -- 1 to 9
218384251
238622506

b) second field position -- 10 to 19
2010-11-25
2010-11-30

i tried using sort -k1,9 -k10,19 file_name but i didn't get any output
Experts pls provide your inputs..

Last edited by radoulov; 12-27-2010 at 08:15 AM.. Reason: Code tags, please!
# 2  
Old 12-27-2010
Code:
sort -k1,9 file | sort -k10,19

R0H0N
# 3  
Old 12-27-2010
Code:
sort -k1.1,1.9 -k1.10,1.19 file

# 4  
Old 12-27-2010
Edit: Scott was faster Smilie
# 5  
Old 12-27-2010
perl may help you some

Code:
my @arr=<DATA>;
print map {$_->[2]} sort {$a->[0]<=>$b->[0] || $a->[1]<=>$b->[1]} map {my($a,$b,$c,$d)=$_=~/^(.{9})(.{4})-(.{2})-(.{2})/;[$a,$b.$c.$d,$_];} @arr;
__DATA__
2183842512010-11-25   15379043  453130325
2386225062010-11-30    4946518  495952336
2386225062010-11-30    4946518  495952345
2386225062010-11-25  262066688 -516224026
2679350512010-11-25  262066688 -516224124
3196089062010-11-25  262066688  203238229
3447672592010-11-25  262066688 -516224128
3902366362010-11-25  262066688 -516224276

# 6  
Old 12-28-2010
I don't think splitting the first field affects the sort order in this case...
Code:
sort -k1,1 infile

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Answers to Frequently Asked Questions

Fixed width file issue and resolutions

I have a fixed width file with no separators , but the file has JUNK characters in it and i know how to remove it. but in few cases these junk characters having created a mess by splitting single row into 2 or 3 rows. I need to put them back to a single line like rest of the rows. This fixed... (2 Replies)
Discussion started by: santoshkm
2 Replies

2. Shell Programming and Scripting

Replace using awk on fixed width file.

All, I used to use following command to replace specific location in a fixed width file. Recently looks like my command stopped working as intended. We are on AIX unix. awk 'function repl(s,f,t,v) { return substr(s,1,f-1) sprintf("%-*s", t-f+1, v) substr(s,t+1) } NR<=10 {... (3 Replies)
Discussion started by: pinnacle
3 Replies

3. Shell Programming and Scripting

Alter Fixed Width File

Thank u so much .Its working fine as expected. ---------- Post updated at 03:41 PM ---------- Previous update was at 01:46 PM ---------- I need one more help. I have another file(fixed length) that will get negative value (ex:-00000000003000) in postion (98 - 112) then i have to... (6 Replies)
Discussion started by: vinus
6 Replies

4. UNIX for Dummies Questions & Answers

Length of a fixed width file

I have a fixed width file of length 53. when is try to get the lengh of the record of that file i get 2 different answers. awk '{print length;exit}' <File_name> The above code gives me length 50. wc -L <File_name> The above code gives me length 53. Please clarify on... (2 Replies)
Discussion started by: Amrutha24
2 Replies

5. Shell Programming and Scripting

Comparing two fixed width file

Hi Guys I am checking the treads to get the answer but i am not able to get the answer for my question. I have two files. First file is a pattern file and the second file is the file i want to search in it. Output will be the lines from file2. File1: P2797f12af 44751228... (10 Replies)
Discussion started by: anshul_er
10 Replies

6. Shell Programming and Scripting

Manupulating Records in a fixed width file

I am trying to determine what would be a fast and simple way to manipulate data that comes in a fixed width format. This data has 6 segments within a record. Each record needs to written out with a header and the 6 segments. Based on the value in column #6 the fields will be defined accordingly.... (4 Replies)
Discussion started by: Muga801
4 Replies

7. Shell Programming and Scripting

Fixed-Width file from Oracle

Hi All, I have created a script which generates FIXED-WIDTH file by executing Oracle query. SELECT RPAD(NVL(col1,CHR(9)),20)||NVL(col2,CHR(9))||NVL(col3,CHR(9) FROM XYZ It generates the data file with proper alignment. But if same file i transfer to windows server or Mainframe... (5 Replies)
Discussion started by: Amit.Sagpariya
5 Replies

8. UNIX Desktop Questions & Answers

Help with Fixed width File Parsing

I am trying to parse a Fixed width file with data as below. I am trying to assign column values from each record to variables. When I parse the data, the spaces in all coumns are dropped. I would like to retain the spaces as part of the dat stored in the variables. Any help is appreciated. I... (4 Replies)
Discussion started by: sate911
4 Replies

9. Shell Programming and Scripting

Changing particular field in fixed width file

I have a fixed width file and i need to change 36th field to "G" in for about random 20 records? How can I do it? (4 Replies)
Discussion started by: dsravan
4 Replies

10. UNIX for Dummies Questions & Answers

Fixed Width file using AWK

I am using the following command at the Unix prompt to make my 'infile' into a fixed width file of 100 characters. awk '{printf "%-100s\n",$0}' infile > outfile However, there are some records with a special character "©" These records are using 3 characters in place of one and my record... (2 Replies)
Discussion started by: alok.benjwal
2 Replies
Login or Register to Ask a Question