Sponsored Content
Full Discussion: Data Normalization
Top Forums Shell Programming and Scripting Data Normalization Post 302770566 by RudiC on Sunday 17th of February 2013 05:21:59 AM
Old 02-17-2013
PLEASE use code tags for code and data as required by forum rules!

This has become uglier than what I went for, but at least for your special problem, it might work:
Code:
awk     '$1=="=" {header = header M1 "|"        # if "=" encountered, use "dragging" copy, i.e. last line's $1
                  row = row "|"                 # insert "|" separator into row
                  next                          # no further action on this line
                 }
                 {row = row " " $1; M1 = $1}    # collect everything into row; keep a "dragging" copy of $1 in M1
         END     {gsub (/ [^ ]*\| /, "|", row)  # remove header fields from row
                  sub  (/^\|/, "", row)         # remove leading "|" from row
                  sub  (/\|$/,"", header)       # remove trailing "|" from header
                  print header; print row}      # print it
        ' file
LAC|DN|EQN|CAT|OPTRCL|TRARSTR|LNATT|COS
040|24001001|920- 2- 0- 1|MS|3|ACTTRACL TRACLACT TRACLMOD|PB|CLIP

---------- Post updated at 11:21 ---------- Previous update was at 10:57 ----------

Well, this might be a bit more straightforward and easier to understand...

Code:
awk     '       {tot = tot " " $1}                      # collect everything into one long line
         END    {gsub (/ [^ ]* =/, "|&", tot)           # separate entries by "|"
                 n = split (tot, Ar1, "\| ")            # split line by "|", remember field count
                 for (i=2; i<=n; i++)                   # every field but first (artificial, empty field)
                        {split (Ar1[i], Ar2, " = ")     # split into header/row part
                         head = head (i>2?"|":_) Ar2[1] # and create header 
                         row  = row  (i>2?"|":_) Ar2[2] # and row (both avoiding leading "|")
                        }
                 print head; print row                  # print both
                }
        ' file


Last edited by RudiC; 02-17-2013 at 09:12 AM.. Reason: correction of typo in script
This User Gave Thanks to RudiC For This Post:
 

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Howto capture data from rs232port andpull data into oracle database-9i automatically

Hi, i willbe very much grateful to u if u help me out.. if i simply connect pbx machine to printer by serial port RS232 then we find this view: But i want to capture this data into database automatically when the pbx is running.The table in database will contain similar to this view inthe... (1 Reply)
Discussion started by: boss
1 Replies

2. Shell Programming and Scripting

how to verify that copied data to remote system is identical with local data.

I have created simple shell script #!/bin/sh echo `date`; echo "Start .... find . -mtime +95 -print > /tmp/files.txt for file in `cat /tmp/files.txt` do echo "copying file - $file" /usr/local/bin/scp -p -P 2222 $file remote.hostname:/file/path echo "copid file -... (3 Replies)
Discussion started by: ynilesh
3 Replies

3. UNIX for Dummies Questions & Answers

converting a tabular format data to comma seperated data in KSH

Hi, Could anyone help me in changing a tabular format output to comma seperated file pls in K-sh. Its very urgent. E.g : username empid ------------------------ sri 123 to username,empid sri,123 Thanks, Hema:confused: (2 Replies)
Discussion started by: Hemamalini
2 Replies

4. Shell Programming and Scripting

Extract data based on match against one column data from a long list data

My input file: data_5 Ali 422 2.00E-45 102/253 140/253 24 data_3 Abu 202 60.00E-45 12/23 140/23 28 data_1 Ahmad 256 7.00E-45 120/235 140/235 22 data_4 Aman 365 8.00E-45 15/65 140/65 20 data_10 Jones 869 9.00E-45 65/253 140/253 18... (12 Replies)
Discussion started by: patrick87
12 Replies

5. Shell Programming and Scripting

Normalization Using Shell Scripting.

Hi All, I am having a file having below three lines or maybe more than 3 lines. The first line will be always constant. ### Line 1 #### Transformation||Transformation Mapplet Name||Transformation Group||Partition Index||Transformation Row ID||Error Sequence||Error Timestamp||Error UTC... (4 Replies)
Discussion started by: satyaranjon
4 Replies

6. Shell Programming and Scripting

Normalization using awk

Hi I have a file with chr22_190_200 XXY 0 0 chr22_201_210 XXY 0 30 chr22_211_220 XXY 3 0 chr22_221_230 XXY 0 0 chr22_231_240 XXY 5 0 chr22_241_250 ABC 0 0 chr22_251_260 ABC 22 11 ... (12 Replies)
Discussion started by: Diya123
12 Replies

7. Shell Programming and Scripting

Normalization using awk

I made my explanation precise in the CODE below. I can do this manually. But is there a way to automate this? If I give 4 or 10 or any number of inputs. It should calculate the CODE and print the different outputs with normalization value ? some thing like script.sh input1 input2 input3 input4... (12 Replies)
Discussion started by: quincyjones
12 Replies

8. Shell Programming and Scripting

Converting variable space width data into CSV data in bash

Hi All, I was wondering how I can convert each line in an input file where fields are separated by variable width spaces into a CSV file. Below is the scenario what I am looking for. My Input data in inputfile.txt 19 15657 15685 Sr2dReader 107.88 105.51... (4 Replies)
Discussion started by: vharsha
4 Replies

9. Shell Programming and Scripting

awk --> math-operation in data-record and joining with second file data

Hi! I have a pretty complex job - at least for me! i have two csv-files with meassurement-data: fileA ...... (2 Replies)
Discussion started by: IMPe
2 Replies
COLLATOR_SORT(3)							 1							  COLLATOR_SORT(3)

Collator::sort - Sort array using specified collator

	Object oriented style

SYNOPSIS
public bool Collator::sort (array &$arr, [int $sort_flag]) DESCRIPTION
Procedural style bool collator_sort (Collator $coll, array &$arr, [int $sort_flag]) This function sorts an array according to current locale rules. Equivalent to standard PHP sort(3) . PARAMETERS
o $coll -Collator object. o $arr - Array of strings to sort. o $sort_flag - Optional sorting type, one of the following: o Collator::SORT_REGULAR - compare items normally (don't change types) o Collator::SORT_NUMERIC - compare items numerically o Collator::SORT_STRING - compare items as strings Default sorting type is Collator::SORT_REGULAR. It is also used if an invalid $sort_flag value has been specified. RETURN VALUES
Returns TRUE on success or FALSE on failure. EXAMPLES
Example #1 collator_sort(3) example <?php $coll = collator_create( 'en_US' ); $arr = array( 'at', 'as', 'as' ); var_export( $arr ); collator_sort( $coll, $arr ); var_export( $arr ); ?> The above example will output: array ( 0 => 'at', 1 => 'as', 2 => 'as', )array ( 0 => 'as', 1 => 'as', 2 => 'at', ) SEE ALSO
Collator constants, collator_asort(3), collator_sort_with_sort_keys(3). PHP Documentation Group COLLATOR_SORT(3)
All times are GMT -4. The time now is 05:53 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy