file transformation using fixed width file


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers file transformation using fixed width file
# 1  
Old 05-23-2012
file transformation using fixed width file

Hi Gurus!

I need to make some file transformations. Please help.

This is my input file. It has four columns with fixed width.

Code:
1   aaa  bbbb   cccc
2   eee  dddd   jjjj
3   fff  gggg   jjjj
4   hhh  iiii   cccc
5   kkk  llll   cccc
6   mmm  nnnn   oooo
7   ppp  qqqq   xxxx
8   rrr  ssss   oooo
9   ttt  wwww   xxxx
10  yyy  zzzz   oooo

Step 1: I need to transform it like this. This is formed by sorting the fourth column and its corresponding line should go along with the arrangement upon sorting.
Code:
1   aaa  bbbb   cccc
4   hhh  iiii   cccc
5   kkk  llll   cccc
2   eee  dddd   jjjj
3   fff  gggg   jjjj
6   mmm  nnnn   oooo
8   rrr  ssss   oooo
10  yyy  zzzz   oooo
7   ppp  qqqq   xxxx
9   ttt  wwww   xxxx

Step 2: The result of step 1 will also be processed to have the following result shown below. This is done by transforming the third column to be a row with reference to the unique value in the fourth column.
With reference to the output of Step1, the data in the fourth column is cccc, so take take value in the 3rd column for the same line with a value of cccc in the fourth column...
if the 4th column's data is changed; example from cccc to jjjj; move to the next line and cascade corresponding values from the 3rd column of the input
Code:
bbbb,iiii,llll
dddd,gggg
nnnn,ssss,zzzz
qqqq,wwww

I hope somebody can help me. Thanks in advance! Smilie
# 2  
Old 05-23-2012
Code:
sort -k4 infile | awk '{print $4, $3} ' |
 awk '{arr[$1]=arr[$1] " " $2} END {for (i in arr) {print arr[i] }} '

This sorts , pulls out the fields of interest, aggregates them, then prints thm.
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Convert a fixed width file to a delimited file

Hi - this is a generic question .... is there any utility which can convert a fixed width file format to a delimited file (any given character delimited) ? (5 Replies)
Discussion started by: i4ismail
5 Replies

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

3. Shell Programming and Scripting

To replace the value of the column in a fixed width file

I have a fixed with file with header & trailer length having the same length of the detail record file. The details record length of this file is 24, for Header and Trailer the records will be padded with spaces to match the record length of the file Currently I am adding 3 spaces in header... (14 Replies)
Discussion started by: ginrkf
14 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. UNIX for Dummies Questions & Answers

cleaning up spaces from fixed width file while converting to csv file

Open to a sed/awk/or perl alternative so that i can stick command into my bash script. This is a problem I resolve using a combination of cut commands - but that is getting convoluted. So would really appreciate it if someone could provide a better solution which basically replaces all... (3 Replies)
Discussion started by: svn
3 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

Converting a Delimited File to Fixed width file

Hi, I have a delimited file generated by a database and i need to convert it to fixed width file using the field length of the database. Can any body suggest me how can i proceed with it? :confused: Thanks Raghavan (2 Replies)
Discussion started by: raghavan.aero
2 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