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
FBSQL_DATA_SEEK(3)							 1							FBSQL_DATA_SEEK(3)

fbsql_data_seek - Move internal result pointer

SYNOPSIS
bool fbsql_data_seek (resource $result, int $row_number) DESCRIPTION
Moves the internal row pointer of the FrontBase result associated with the specified result identifier to point to the specified row num- ber. The next call to fbsql_fetch_row(3) would return that row. PARAMETERS
o $ result -A result identifier returned by fbsql_query(3) or fbsql_db_query(3). o $row_number - The row number. Starts at 0. RETURN VALUES
Returns TRUE on success or FALSE on failure. EXAMPLES
Example #1 fbsql_data_seek(3) example <?php $link = fbsql_pconnect("localhost", "_SYSTEM", "secret") or die("Could not connect"); fbsql_select_db("samp_db") or die("Could not select database"); $query = "SELECT last_name, first_name FROM friends;"; $result = fbsql_query($query) or die("Query failed"); // fetch rows in reverse order for ($i = fbsql_num_rows($result) - 1; $i >=0; $i--) { if (!fbsql_data_seek($result, $i)) { printf("Cannot seek to row %d ", $i); continue; } if (!($row = fbsql_fetch_object($result))) continue; echo $row->last_name . $row->first_name . "<br /> "; } fbsql_free_result($result); ?> PHP Documentation Group FBSQL_DATA_SEEK(3)
All times are GMT -4. The time now is 11:13 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy