Format row data into columns


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Format row data into columns
# 15  
Old 03-08-2011
Hi GReddy,

For your new inputfile I get this script, not short one, but works with your sample.
Code:
### 1-Using SED to remove lines and other data to simplify #####
#################################################################
sed -e '
s/\(.*_[a-zA-Z]*\)\( .*\)/\1/;
s/^Atomic.*//;
s/^Condition.*//;
s/^SUCCESS(.*//;
s/^-.*//;
s/^_.*//;
s/\(^Job Name\)\( .*\)/\1/;
s/\(^Dependent Job Name\)\( .*\)/\1/;
/./!d' inputfile | 
####2-Using AWK to merge lines after pattern "Dependent Job Name"###
#################################################################

awk 'BEGIN{print "Job Name|Dependent Job Name"}
{
if ( $0~/Dependent Job Name/ || $0~/.*_.*/ )
printf("%s,", $0)
else
printf(" %s\n", $0)
}' > temp 
####3-Using SED to remove extra words to match the requirements #######
#################################################################
sed -e '
s/,Dependent Job Name,/|/;
s/Start Dependent//;
2,$s/Job Name//;
s/^[ \t]*//;
s/[ \t]*$//;
/./!d
s/,$//' temp > outputfile
rm temp

Job Name|Dependent Job Name
DWC$DAC103_acct_naked_opt|RDS$DAC524_D_DWC_AC_NKDO_FACT,WST$DAC437_R037_Uncovered_Opt
DWC$DAC104_acct_position|RDS$DAC504_D_DWC_AC_POS,RDS$DAC504_D_DWC_BRN_POS_FACT,RDS$DAC504_D_DWC_FA_POS_FACT,WST$DAC414_Cap_Limit_Master,WST$DAC427_R017_TAPS,WST$DAC441_R043_Error_Act_Pos,WST$DAC444_R052_B_Share_Pos,WST$DAC446_R054_C_Share_Pos,WST$DAC452_R064_FDIC_Exposure,

And for the other question
Quote:
I have one more question - in case if the watch_file line is not present for some jobs. What happens now is the next time it get other jobs, the watch_file value is same as previous job. How can I make it void at the end of one loop so that next time if it doesn't get watch_file line there should be blank.
Iīm not understand clear enough, may you put an input and output example?

Regards
# 16  
Old 03-08-2011
Here is wat i was asking for

Input file:
Code:
/* ----------------- DWC$DAF101_VALUSTRT.DAT ----------------- */

insert_job: DWC$DAF101_VALUSTRT.DAT   job_type: f
term_run_time: 1320
watch_interval: 60

/* ----------------- DWC$DAF102_E99MSGSTRT.DAT ----------------- */

insert_job: DWC$DAF102_E99MSGSTRT.DAT   job_type: f
watch_interval: 60

Output File:
Code:
insert_job|job_type|term_run_time|watch_interval
DWC$DAF101_VALUSTRT.DAT|f|1320|60
DWC$DAF102_E99MSGSTRT.DAT|f|1320|60

If u check the above output clearly, in 2nd record the value should be blank (instead of 1320) for term_run_time. But thats not happening. If its not able to find term_run_time in the next job, it assign the previous job values.
Moderator's Comments:
Mod Comment
Please use code tags when posting data and code samples!

Last edited by vgersh99; 03-08-2011 at 11:36 AM.. Reason: code tags, please!
# 17  
Old 03-08-2011
Cgkmal,
The script didn't work. But i don't think so the problem was with ur script. The problem was the way i posted my input file. There is formatting issue. Please find attached the screenshot of my inputfile.
Note: Also it might happen that there might be no dependent jobs.

Thanks,
Gangadhar
# 18  
Old 03-08-2011
Hi again GReddy,

Quote:
If u check the above output clearly, in 2nd record the value should be blank (instead of 1320) for term_run_time. But thats not happening.
If its not able to find term_run_time in the next job, it assign the previous job values.
To fix this is needed to relesase/clear the variables value after printing them as below.
Code:
awk -F": " 'BEGIN{print "insert_job|job_type|term_run_time|watch_interval"}
{sub(/[ \t]+$/, "")}
{sub(/[ ]*job_type/,": job_type",$0)}
/insert_job/{a=$2}
/job_type/{b=$4}
/term_run_time/{c=$2}
/watch_interval/{d=$2;print a,b,c,d; a="";b="";c="";d=""}
' OFS="|" inputfile

The other issue:
Quote:
Cgkmal,
The script didn't work. But i don't think so the problem was with ur script. The problem was the way i posted my input file. There is formatting issue. Please find attached the screenshot of my inputfile.
Note: Also it might happen that there might be no dependent jobs.

Thanks,
Gangadhar
Did you adapt the code to the correct input format? may you show the real input file?

Best regards
# 19  
Old 03-09-2011
Cgkmal,
Check the attachment in my above post. It has the correct input file format.

Thanks,
Gangadhar
# 20  
Old 03-09-2011
Quote:
Originally Posted by Gangadhar Reddy
Cgkmal,
Check the attachment in my above post. It has the correct input file format.

Thanks,
Gangadhar
GReddy,

I saw it before, but thatīs an image of the file format. Itīs needed the real sample file.
# 21  
Old 03-11-2011
Here you go. Please find attached the input file.

Requirements changed a bit.

I need the following output. Example of 1st 3 rows.
Note: For some job there won't be any Atomic condition or Dependent Job Name. And it can be many as well.

Job Name|Atomic Condition|Dependent Job Name
ABC$MAN101_Scheduler01
ABC$MAN102_Trigger01|SUCCESS(PRQ$MAC111_acct),SUCCESS(PRQ$MAC141_cust),SUCCESS(PRQ$MAC131_acct_cust_ rel),SUCCESS(PRQ$MAC134_cust_classfn)|ABC$MAC101_partnr_shr
ABC$MAN201_Scheduler01

Thanks a lot Cgkmal.. You made my documentation work really easy.

- Gangadhar
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

awk - script help: column to row format of data allignment?

Experts Good day, I have the following data, file1 BRAAGRP1 A2X B2X C2X D2X BRBGRP12 A3X B3X Z10 D09 BRC1GRP2 LO01 (4 Replies)
Discussion started by: rveri
4 Replies

2. Shell Programming and Scripting

Sort a the file & refine data column & row format

cat file1.txt field1 "user1": field2:"data-cde" field3:"data-pqr" field4:"data-mno" field1 "user1": field2:"data-dcb" field3:"data-mxz" field4:"data-zul" field1 "user2": field2:"data-cqz" field3:"data-xoq" field4:"data-pos" Now i need to have the date like below. i have just... (7 Replies)
Discussion started by: ckaramsetty
7 Replies

3. Shell Programming and Scripting

Splitting data from one row as multiple columns

Hi I have a file containing some data as follows: 11-17-2010:13:26 64 4 516414 1392258 11-17-2010:13:26 128 4 586868 695603 11-17-2010:13:26 256 4 474937 1642294 11-17-2010:13:32 64 4 378715 1357066 11-17-2010:13:32 128 4 597981 1684006 ... (17 Replies)
Discussion started by: annazpereira
17 Replies

4. Shell Programming and Scripting

Help converting row data to columns

I've been trying to figure this out for a while but I'm completely stumped. I have files with data in rows and I need to convert the data to columns. Each record contains four rows with a "field name: value" pair. I would like to convert it to four columns with the field names as column headers... (5 Replies)
Discussion started by: happy_ee
5 Replies

5. Shell Programming and Scripting

How to convert 2 column data into multiple columns based on a keyword in a row??

Hi Friends I have the following input data in 2 columns. SNo 1 I1 Value I2 Value I3 Value SNo 2 I4 Value I5 Value I6 Value I7 Value SNo 3 I8 Value I9 Value ............... ................ SNo N (1 Reply)
Discussion started by: ks_reddy
1 Replies

6. UNIX for Dummies Questions & Answers

Sum of data in row format

Hi All, I have some numbers in two different files file1 4.21927E+00 4.68257E+00 5.56871E+00 3.59490E+01 7.65806E+01 1.39827E+02 and file2 5.61142E+00 6.21648E+00 7.40152E+00 4.41917E+01 8.31586E+01 1.42938E+02 I would like to get file3 which contains in each column the sum of the... (6 Replies)
Discussion started by: f_o_555
6 Replies

7. Shell Programming and Scripting

Format data to columns addind spaces

Hi all, I have a problem to format data from different database queries into one look. The input data are as follows, every line has the same number of values but a different number of characters: adata, bdata, cdata, ddata fffdata, gdata, hdata, idata jdata, kdata, ... (6 Replies)
Discussion started by: old_mike
6 Replies

8. Shell Programming and Scripting

Format - Inventory Row data into Column - Awk - Nawk

Hi All, I have the following file that has computer data for various pcs in my network... Snap of the file is as follows ******************************************************************************* Serial 123456 Computer IP Address lo0:... (1 Reply)
Discussion started by: aavam
1 Replies

9. Shell Programming and Scripting

How to insert data befor some field in a row of data depending up on values in row

Hi I need to do some thing like "find and insert before that " in a file which contains many records. This will be clear with the following example. The original data record should be some thing like this 60119827 RTMS_LOCATION_CDR INSTANT_POSITION_QUERY 1236574686123083rtmssrv7 ... (8 Replies)
Discussion started by: aemunathan
8 Replies

10. Shell Programming and Scripting

Converting tables of row data into columns of tables

I am trying to transpose tables listed in the format into format. Any help would be greatly appreciated. Input: test_data_1 1 2 90% 4 3 91% 5 4 90% 6 5 90% 9 6 90% test_data_2 3 5 92% 5 4 92% 7 3 93% 9 2 92% 1 1 92% ... Output:... (7 Replies)
Discussion started by: justthisguy
7 Replies
Login or Register to Ask a Question