![]() |
|
|
google unix.com
|
|||||||
| Forums | Casino | Register | Forum Rules | Links | Albums | FAQ | Members List | Search | Today's Posts | Mark Forums Read |
| Shell Programming and Scripting Post questions about KSH, CSH, SH, BASH, PERL, PHP, SED, AWK and OTHER shell scripts and shell scripting languages here. |
More UNIX and Linux Forum Topics You Might Find Helpful
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Remove duplicate rows of a file based on a value of a column | risk_sly | UNIX for Dummies Questions & Answers | 7 | 09-26-2008 06:26 AM |
| convert rows into column | cdfd123 | Shell Programming and Scripting | 3 | 01-11-2008 11:54 AM |
| Look up column in a flat file | jambesh | Shell Programming and Scripting | 5 | 09-18-2006 05:44 AM |
| Factorize some rows in a column | frebo | UNIX for Dummies Questions & Answers | 5 | 03-21-2006 05:41 AM |
| Converting Pivot file to flat file | vskr72 | Shell Programming and Scripting | 2 | 10-18-2005 04:41 PM |
![]() |
|
|
Submit Tools | LinkBack | Thread Tools | Search this Thread | Rate Thread | Display Modes |
|
|||
|
Converting Column to Rows in a Flat file
Hi,
Request To guide me in writing a shell program for the following requirement: Example:if the Input File contains the follwing data Input File Data: 80723240029,12,323,443,88,98,7,98,67,87 80723240030,12,56,6,,,3,12,56,6,7,2,3,12,56,6,7,2,3,88,98,7,98,67,87 80723240031,56,57,d,88,98,7,98,67,87,88,98,7,98,67,87 80723250032,45,hg,3 Background:After First column every 6 columns are identified as one setand first column is the key to identify the records. I have to convert the data as follows: Output File Data: 80723240029,12,323,443,88,98,7 80723240029,98,67,87 80723240030,12,56,6,,,3 80723240030,12,56,6,7,2,3 80723240030,12,56,6,7,2,3 80723240030,88,98,7,98,67,87 80723240031,56,57,d,88,98,7 80723240031,98,67,87,88,98,7 80723240031,98,67,87 80723250032,45,hg,3 Thanks in Advance, srinivas Last edited by srinikal; 10-10-2008 at 04:20 AM.. Reason: e-mail address removed |
| Sponsored Links |
|
|||
|
Hi Zaxxon,
The data format which i gave is the final stage wherein iam actually struck,prior to bring it to this page other things to split actual file into two file and identifying the first column. i posted the question wherein iam unable to proceed further.. I didn't understand where it was rude pls explain.. |
|
|||
|
As I understand your problem, using Perl (and your sample data) I believe this will give you what you want.
#!/usr/bin/perl my @fields; my @hold; my $key1; my $x; my $i; open INPUT, "<file6"; open OUTPUT, ">outfile"; while(<INPUT>) { chomp; @fields = split /,/, $_; $key1 = $fields[0]; shift @fields; while ( defined($fields[0]) ) { for ($i = 1; $i < 7; $i++) { if ( defined($fields[0]) ) { $hold[$i] = $fields[0]; shift @fields; } else { last; } } $x = join ",", @hold; $array1{$key1} = $x; print OUTPUT "$key1$array1{$key1}\n"; @hold = ( ); } } close INPUT; close OUTPUT; |
|||
| Google The UNIX and Linux Forums |
![]() |
| Bookmarks |
| Tags |
| perl, perl shift, shift, shift perl |
| Thread Tools | Search this Thread |
| Display Modes | Rate This Thread |
|
|