Sponsored Content
Top Forums Shell Programming and Scripting Rows to Columns - File Transpose Post 302375592 by jsmithstl on Saturday 28th of November 2009 11:33:51 AM
Old 11-28-2009
Bluethunder... It looks like you've added a new problem to this post. You really should start a new thread to prevent confusion.

---------- Post updated at 10:33 AM ---------- Previous update was at 10:29 AM ----------

46019:

Code:
#!/usr/bin/perl

use strict;

my @a_empdata;
my %h_empdata;
my $esl;
my $val;
my $line;
my $i;

open EMPFILE, "<esl.dat"
  or die "can't open file: $!";

@a_empdata = <EMPFILE>;

close EMPFILE
  or die "can't close file: $!";

print "emp\tsal\tloc\n";

$i = 0;

while ($a_empdata[$i])
{
   $line = $a_empdata[$i];
   chomp($line);
   $esl = (split '=', $line) [0];
   $val = (split '=', $line) [1];
   if ( $esl eq "emp" )
   {
      $h_empdata{'emp'} = $val;
      if ( $a_empdata[$i+1] =~ m/emp/ )
      {
         $h_empdata{'sal'} = " ";
         $h_empdata{'loc'} = " ";
         $i++;
      }
      elsif ( $a_empdata[$i+1] =~ m/loc/ )
      {
         $h_empdata{'sal'} = " ";
         $h_empdata{'loc'} = (split '=', $a_empdata[$i+1]) [1];
         chomp($h_empdata{'loc'});
         $i = $i + 2;
      }
      elsif ( $a_empdata[$i+1] =~ m/sal/ )
      {
         $h_empdata{'sal'} = (split '=', $a_empdata[$i+1]) [1];
         chomp($h_empdata{'sal'});
         if ( $a_empdata[$i+2] =~ m/loc/ )
         {
            $h_empdata{'loc'} = (split '=', $a_empdata[$i+2]) [1];
            chomp($h_empdata{'loc'});
            $i = $i + 3;
         }
         else
         {
            $h_empdata{'loc'} = " ";
            $i = $i + 2;
         }
      }
   }
   elsif ( $esl eq "sal" )
   {
      $h_empdata{'sal'} = $val;
      $h_empdata{'emp'} = " ";
      if ( $a_empdata[$i+1] =~ m/loc/ )
      {
         $h_empdata{'loc'} = (split '=', $a_empdata[$i+1]) [1];
         chomp($h_empdata{'loc'});
         $i = $i + 2;
      }
      else
      {
         $h_empdata{'loc'} = " ";
         $i++;
      }
   }
   elsif ( $esl eq "loc" )
   {
      $h_empdata{'loc'} = $val;
      $h_empdata{'emp'} = " ";
      $h_empdata{'sal'} = " ";
      $i++;
   }
   print "$h_empdata{'emp'}\t$h_empdata{'sal'}\t$h_empdata{'loc'}\n";
   undef %h_empdata;
}

I used tabs in the print to format the output.
Code:
./esl.pl
emp     sal     loc
1       2       abc
2       21
        22      xyz
5               abc

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Transpose multipe columns to rows and adding headers

Hi, I found the following awk script to transpose multiple (3) columns to multiple rows: #=== BEGIN {FS=","} { for (i=1;i<=NF;i++) { arr=$i; if(nf<= NF) nf=NF; } nr=NR } END { for(i=1;i<=nf;i++) { (8 Replies)
Discussion started by: Gery
8 Replies

2. Shell Programming and Scripting

Transpose columns to Rows : Big data

Hi, I did read a few posts on the subjects, tried out a few solutions, but did not solve my problem. https://www.unix.com/302121568-post11.html https://www.unix.com/shell-programming-scripting/137953-large-file-columns-into-rows-etc-4.html Please help. Problem very similar to the second link... (15 Replies)
Discussion started by: genehunter
15 Replies

3. Shell Programming and Scripting

Transpose Rows Into Columns

I'm aware there are a lot of resources dedicated to the question of transposing rows and columns, but I'm a total newbie at this and the task appears to be beyond me. I have 40 text files with content that looks like this: Dokument 1 von 146 Orange County Register (California) June 26, 2010... (2 Replies)
Discussion started by: spindoctor
2 Replies

4. Shell Programming and Scripting

Transpose columns to Rows

I have a data A 1 B 2 C 3 D 4 E 5 i would like to change the data A B C D E 1 2 3 4 5 Pls suggest how we can do it in UNIX. Start using code tags, thanks. Also start reading your PM's you get from Mods as well read the Forum Rules. That might not do any harm. (24 Replies)
Discussion started by: aravindj80
24 Replies

5. Shell Programming and Scripting

transpose rows to columns

Any tips on how I can awk the input data to display the desired output per below? Thanking you in advance. input test data: 2 2010-02-16 10:00:00 111111111111 bytes 99999999999 bytes 90% 4 2010-02-16 12:00:00 333333333333 bytes 77777777777 bytes 88% 5 2010-02-16 11:00:00... (4 Replies)
Discussion started by: ux4me
4 Replies

6. Shell Programming and Scripting

Transpose Data from Columns to rows

Hello. very new to shell scripting and would like to know if anyone could help me. I have data thats being pulled into a txt file and currently have to manually transpose the data which is taking a long time to do. here is what the data looks like. Server1 -- Date -- Other -- value... (7 Replies)
Discussion started by: Mikes88
7 Replies

7. Shell Programming and Scripting

Columns to Rows - Transpose - Special Condition

Hi Friends, Hope all is well. I have an input file like this a gene1 10 b gene1 2 c gene2 20 c gene3 10 d gene4 5 e gene5 6 Steps to reach output. 1. Print unique values of column1 as column of the matrix, which will be a b c (5 Replies)
Discussion started by: jacobs.smith
5 Replies

8. Shell Programming and Scripting

awk to transpose every 7 rows into columns

input: a1 a2 a3 a4 a5 a6 a7 b1 b2 b3 .. b7 .. z1 .. z7 (12 Replies)
Discussion started by: ux4me
12 Replies

9. Shell Programming and Scripting

Transpose rows to columns complex

Input: IN,A,1 IN,B,3 IN,B,2 IN,C,7 BR,A,1 BR,A,5 BR,C,9 AR,C,9 Output: CNTRY,A,B,C IN,1,5,7 BR,6,0,9 AR,0,0,9 (7 Replies)
Discussion started by: unme
7 Replies

10. UNIX for Beginners Questions & Answers

Transpose rows to certain columns

Hello, I have the following data and I want to use awk to transpose each value to a certain column , so in case the value is not available the column should be empty. Example: Box Name: BoxA Weight: 1 Length :2 Depth :3 Color: red Box Name: BoxB Weight: 3 Length :4 Color: Yellow... (5 Replies)
Discussion started by: rahman.ahmed
5 Replies
COLORGCCRC(5)							File Formats Manual						     COLORGCCRC(5)

NAME
colorgccrc - configuration file for colorgcc DESCRIPTION
A colorgccrc configuration file is used to configure the highlighting of the compiler output from colorgcc. SYNTAX
Each line consists of a keyword designating a configuration variable. The keyword is followed by `:' and then one or several values (depending on the keyword). Lines beginning with a hash mark `#' are comments. CONFIGURATION VARIABLES
g++ | gcc | c++ | cc | g77 | gcj | gnat | gpc Specifies the paths to the compilers. Takes one value; a path to the compiler. nocolor Specifies what terminal types colorization should be disabled on. Takes one or several values, separated by whitespace. srcColor Specifies the highlighting attributes source-code should be given. Takes one or several color attributes. See the section COLOR ATTRIBUTES for more information. introColor Specifies the highlighting attributes for normal compiler output. Takes one or several color attributes. See the section COLOR ATTRIBUTES for more information. warningFileNameColor | errorFileNameColor Specifies the highlighting attributes for the filename in a warning or an error, respectively. Takes one or several color attributes. See the section COLOR ATTRIBUTES for more information. warningNumberColor | errorNumberColor Specifies the highlighting attributes for the line-number in a warning or an error, respectively. Takes one or several color attributes. See the section COLOR ATTRIBUTES for more information. warningMessageColor | errorMessageColor Specifies the highlighting attributes for the message-text in a warning or an error, respectively. Takes one or several color attributes. See the section COLOR ATTRIBUTES for more information. COLOR ATTRIBUTES
The following attributes are valid for highlighting. clear, reset bold, underline, underscore, blink, reverse, concealed black, red, green, yellow, blue, magenta, cyan, white on_black, on_red, on_green, on_yellow, on_blue, on_magenta, on_cyan, on_white SEE ALSO
gcc(1), colorgcc(1) HISTORY
Jan 15 2003: Initial version of this manual-page. REPORTING BUGS
Report bugs to <jmoyers@geeks.com> AUTHORS
Jamie Moyers <jmoyers@geeks.com> is the author of colorgcc. This manual page was written by Joe Wreschnig <piman@sacredchao.net>, and modified by David Weinehall <tao@debian.org>, for the Debian GNU/Linux system (but may be used by others). COPYRIGHT
Copyright (C) 2003 Jamie Moyers This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICU- LAR PURPOSE. Jan 15, 2003 COLORGCCRC(5)
All times are GMT -4. The time now is 05:08 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy