Sponsored Content
Full Discussion: Transposing a file
Top Forums Shell Programming and Scripting Transposing a file Post 302579957 by MR.bean on Wednesday 7th of December 2011 05:37:44 AM
Old 12-07-2011
Try this

Code:
#!/usr/bin/perl

my $c=0;
my %r=();
while(<>) {
                if(/MOBILITY EVENT \(([A-Z])\)/) {
                        $c++;
                        $r{$c}=$1;
                }
                if(/^\s*(.*?)\s*:\s*(.*)\s*$/) {
                        $r{$c}{$1} = $2;
                }
}

printf("%-15s %-15s %-15s %-15s %-15s \n", 'Mobility Event', 'Time', 'Node', 'GMM Cause', 'Details');

foreach my $k (sort keys %r) {
        printf("%-15s %-15s %-15s %-15s %-15s\n", $r{$k}, $r{$k}{'Time'}, $r{$k}{'Node'}, $r{$k}{'GMM Cause'}, $r{$k}{'Details'});
}

Code:
$ cat data.txt
======== MOBILITY EVENT (G): ATTACH REJECT =========
Time      : <date_time>
Node      : <node>
GMM Cause : <code>
Details   : <details>
Attach    : <attach type>
IMSI      : <imsi>
PTMSI     : <ptmsi>
RA New    : <ra new>
RA Old    : <ra old>
Cell ID   : <cell id>
HLR addr  : <hlr addr>


======== MOBILITY EVENT (W): ATTACH REJECT =========
Time      : <date_time>
Node      : <node>
GMM Cause : <code>
Details   : <details>
Attach    : <attach type>
IMSI      : <imsi>
PTMSI     : <ptmsi>
RA New    : <ra new>
RA Old    : <ra old>
Cell ID   : <cell id>
HLR addr  : <hlr addr>


======== MOBILITY EVENT (W): ATTACH REJECT =========
Time      : <date_time>
Node      : <node>
GMM Cause : <code>
Details   : <details>
Attach    : <attach type>
IMSI      : <imsi>
PTMSI     : <ptmsi>
RA New    : <ra new>
RA Old    : <ra old>
Cell ID   : <cell id>
HLR addr  : <hlr addr>
$ perl parse.pl < data.txt
Mobility Event  Time            Node            GMM Cause       Details
G               <date_time>     <node>          <code>          <details>
W               <date_time>     <node>          <code>          <details>
W               <date_time>     <node>          <code>          <details>

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

transposing letters

Hi, I've written a shell function in bash that reads letters into an array, then outputs them in one column with: for n in "${array}"; do echo $n done I was wondering if anyone knew how i would transpose the letters that are output by the for loop. Right now my output is: aabbcc... (4 Replies)
Discussion started by: myscsa2004
4 Replies

2. Shell Programming and Scripting

file transposing

Hello, Is there a way to transpose a file in shell scripting? For instance, from a1 a2 a3 a4 a5 a6 a7 .... b1 b2 b3 b4 b5 b6 b7 .... c1 c2 c3 c4 c5 c6 c7 .... d1 d2 d3 d4 d5 d6 d7 ... ... ... ... to a1 b1 c1 d1 .... a2 b2 c2 d2 .... a3 b3 c3 d3 .... a4 b3 c3 d4 .... ... ... (24 Replies)
Discussion started by: mskcc
24 Replies

3. Shell Programming and Scripting

Another transposing issue

Hello I need to sort a file with data such as so it breaks on column 1 and all the data in column 2 is sorted into rows with a unique column 1: 1 5 1 6 1 7 2 3 2 4 3 7 3 0 3 9 So it comes out as: 1 5 6 7 2 3 4 3 7 0 9 I've tried many iterations of nawk but can't get it... (14 Replies)
Discussion started by: stevesmith
14 Replies

4. UNIX Desktop Questions & Answers

More than transposing!

Hi everyone, I have a poblem like that: I have a file which includes data looks like: 0.65214 0.3597 1.0 0.65244 0.3502 1.0 0.65273 0.3553 1.0 0.65305 0.3544 1.0 0.65327 0.3505 1.0 0.65359 0.3516 1.0 0.65578 0.6464 1.0 0.65605 0.6453 1.0 0.65633 0.6437 1.0 0.65660 0.6488 1.0... (3 Replies)
Discussion started by: bulash
3 Replies

5. Shell Programming and Scripting

Transposing a file

i have a file as: 1 2 3 4 5 i want output as : 1 2 3 4 5 can anybody help on this?? (14 Replies)
Discussion started by: vikas_kesarwani
14 Replies

6. Shell Programming and Scripting

Transposing column to row, joining with another file, then sorting columns

Hello! I am very new to Linux and I do not know where to begin... I have a column with >64,000 elements (that are not in numberical order) like this: name 2 5 9 . . . 64,000 I would like to transpose this column into a row that will later become the header of a very large file... (2 Replies)
Discussion started by: doobedoo
2 Replies

7. Shell Programming and Scripting

Transposing a file

Hi All, I have a input file say FILEA. FILEA -------- empid1 sal1 location1 manager1 empid2 sal2 location2 manager2 empid3 sal3 location3 manager3 . . . (3 Replies)
Discussion started by: 46019
3 Replies

8. Shell Programming and Scripting

transposing square matrixs or blocks in a big file

Hi I do have a big file of the following format a b c d e f g 2 3 5 6 6 6 7 3 4 5 6 7 9 0 4 5 7 8 9 9 0 1 2 4 5 6 7 8 3 5 6 7 2 3 4 5 6 7 4 3 2 4 5 4 5 6 3 5 5 r h i j k l m 2 3 4 5 6 7 8 4 5 7 8 9 9 0 3 5 6 7 2 3 4 2 3 5 6 6 6 7 5 5 7 8 9 2 3 1 2... (7 Replies)
Discussion started by: Lucky Ali
7 Replies

9. Shell Programming and Scripting

Transposing lines in a csv file with sed

Hi I have a large csv file with lines like below Date,Status,orig,dest,in,out,when,where 2012-01-01 00:30:37,I,48,56,23,98,83,34 2012-06-17 15:00:38,I,72,43,12,65,34,12I will really appreciate if someone can help with a sed script to transpose this to 2012-01-01 00:30:37,I,orig,48... (5 Replies)
Discussion started by: kaf3773
5 Replies

10. UNIX for Dummies Questions & Answers

Transposing a huge space delimited file

Hi, How do I transpose a huge space delimited file with more than 2 million columns and about 100 rows? Thanks! (10 Replies)
Discussion started by: evelibertine
10 Replies
RE-PCR(1)						      General Commands Manual							 RE-PCR(1)

NAME
re-PCR -- Find sequence tagged sites (STS) in DNA sequences SYNOPSIS
re-PCR [-hV] -p hash-file [-g gaps] [-n mism] [-lq] [primer ...] re-PCR [-hV] -P hash-file [-g gaps] [-n mism] [-l] [-m margin] [-O+|-] [-C batchcnt] [-o outfile] [-r+|-] [primers-file ...] re-PCR [-hV] -s hash-file [-g gaps] [-n mism] [-lq] [-m margin] [-o outfile] [-r+|-] [left right lo[-hi] [...]] re-PCR [-hV] -S hash-file [-g gaps] [-n mism] [-lq] [-m margin] [-O+|-] [-C batchcnt] [-o outfile] [-r+|-] [stsfile ...] DESCRIPTION
Implements reverse searching (called Reverse e-PCR) to make it feasible to search the human genome sequence and other large genomes by per- forming STS and primer searches. OPTIONS
-p=hash-file Perform primer lookup using hash-file -P=hash-file Perform primer lookup using hash-file -s=hash-file Perform STS lookup using hash-file -S=hash-file Perform STS lookup using hash-file -n=mism Set max allowed mismatches per primer for lookup -g=gaps Set max allowed indels per primer for lookup -m=margin Set variability for STS size for lookup -l Use presize alignments (only if gaps>0) -G Print alignments in comments -d=min-max Set default STS size -r=+|- Enable/disable reverse STS lookup -O=+|- Enable/disable syscall optimisation -C=batchcnt Set number of STSes per batch -o=outfile Set output file name -q Quiet (no progress indicator) EXAMPLE
famap -tN -b genome.famap org/chr_*.fa fahash -b genome.hash -w 12 -f3 ${PWD}/genome.famap re-PCR -s genome.hash -n1 -g1 ACTATTGATGATGA AGGTAGATGTTTTT 120-200 See famap(1) and fahash(1) SEE ALSO
/usr/share/doc/ncbi-epcr/README.txt bioperl(1), e-pcr(1), famap(1) and fahash(1) AUTHORS
This manual page was written by Andreas Tille <tille@debian.org> for the Debian system (but may be used by others). Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 any later version published by the Free Software Foundation. On Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL. April 2008 RE-PCR(1)
All times are GMT -4. The time now is 09:48 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy