Displaying log file pattern output in tabular form output


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Displaying log file pattern output in tabular form output
# 1  
Old 01-29-2013
Displaying log file pattern output in tabular form output

Hi All,
I have result log file which looks like this (below): from the content need to consolidate the result and put it in tabular form
Code:
1). Intercomponents Checking
Passed: All Server are passed.
======================================================================
2). OS version Checking
Passed: All Server are passed.
======================================================================
3). Component registered and running check
Failed:VerifyComponent:D01A : Some Component Not RUNNING. ATS 0/1 :
Failed:VerifyComponent:C01A : Some Component Not RUNNING. MTD 0/1 :
======================================================================
4). Verify Server Connection, for ATS/MTD/IDT components
Failed:ConnectionCheck:D01A : Gateway fail to connect to SAS server!
Failed:ConnectionCheck:B01A : Gateway fail to connect to SCAD server: u-!
Failed:ConnectionCheck:A01A : Gateway fail to connect to CSEH server
======================================================================
5). Verify Service Availability, for Z2ZS or ZDS/ZDZ or IDX/MDX or ALRX
Failed:VerifyServiceAvailability:D01A: Service IDD is NOT up.
Failed:VerifyServiceAvailability:D01A: Service DD is NOT up.
======================================================================
6). Verify Component Resiliency
Failed:VerifyResiliency:SH01: Service IDD(45002): Only HH07A(274) provide the service IDD. Please check HH07B(275)
Failed:VerifyResiliency:BH01: Service EL: No service provided.
======================================================================
7). Verify RMCmon component
Passed: All Server are passed.
======================================================================
8). Checking the Core file
Failed:ddFileGenerated:CD01A : 1 : 1485297 Jan 7 11:11

i tried to use some grep command to print the output file content in tabular form
Code:
grep '^[0-9]).' outputfilename
grep -A 1 -B 1 '^[0-9]).' outputfilename // this command didn't work since it's not GNU version

tabluar form should look like :
Code:
|========================================|
| Consolidated Report Status |
|========================================|
|SI No CHECKS STATUS |
|========================================|
|1)Intercomponents Checking : Passed |
|----------------------------------------------------|
|2)OS version Checking : Passed |
|----------------------------------------------------|
|3)Component registered : Failed |
|----------------------------------------------------|
|4)Verify Server Connection : Failed |
|----------------------------------------------------|
|5)Verify Service Availability : Failed |
|----------------------------------------------------|
|6)Verify Component Resiliency : Failed |
|----------------------------------------------------|
|7)Verify RMCmon component : Passed |
|----------------------------------------------------|
|8)Checking the Core file : Failed |
|========================================|
| Total Passed : 2 |
| Total Failed : 5 |
| Total executed: 7 |
|========================================|

# 2  
Old 01-29-2013
Code:
awk 'BEGIN {
        print "|========================================|"
        print "|        Consolidated Report Status       |"
        print "|========================================|"
        print "|SI No   CHECKS          STATUS           |"
        print "|========================================|"
 } /^[0-9]/ {
        c++;
        print "|------------------------------------------|"
        printf "| %s ",$0; getline; s=$0; sub(/:.*/,"",s); (s=="Passed")?++p:++f; printf " : %s |\n", s;
        print "|------------------------------------------|"
 } END {
        print "|========================================|"
        print "| Total Passed:" p "                      |"
        print "| Total Failed:" f "                      |"
        print "| Total Executed:" c "                    |"
        print "|========================================|"
}' filename

This User Gave Thanks to Yoda For This Post:
# 3  
Old 01-30-2013
Thanks for the reply bipinajith.

but when i try to execute the code it's report error at line number 10 ie,

Code:
root@OPT# ./output.sh
awk: syntax error near line 10
awk: illegal statement near line 10
awk: syntax error near line 10
awk: illegal statement near line 10

Error line is :
Code:
printf "| %s ",$0; getline; s=$0; sub(/:.*/,"",s); (s=="Passed")?++p:++f; printf " : %s |\n", s;

not able to figure it out what's wrong in the above line.

Apart from that,

I have another question, from the above line i can see you are comparing "s" with Passed, how about "Failed" . does it print Passed or Failed string. If i want to display "No Result" if it's not Passed or Failed then how to incoporate that in the above line.

Will it be possible to add the color code for "Passed"/"Failed"/"No Result" as green/red/blue in the tabular output ?
# 4  
Old 01-30-2013
Use nawk instead on Solaris or SunOS

Here is modified code with "No Result" added:
Code:
nawk 'BEGIN {
        print "|========================================|"
        print "|        Consolidated Report Status       |"
        print "|========================================|"
        print "|SI No   CHECKS          STATUS           |"
        print "|========================================|"
 } /^[0-9]/ {
        c++;
        print "|------------------------------------------|"
        printf "| %s ",$0; getline; s=$0; sub(/:.*/,"",s);
        if(s=="Passed") ++p; if(s=="Failed") ++f; if(s=="") ++n;
        printf " : %s |\n", s;
        print "|------------------------------------------|"
 } END {
        print "|========================================|"
        print "| Total Passed: " p "                      |"
        print "| Total Failed: " f "                      |"
        print "| Total No Result: " n "                 |"
        print "| Total Executed: " c "                    |"
        print "|========================================|"
}' filename

For color code have a look at this link use printf instead of echo
# 5  
Old 01-30-2013
Thanks for the reply. nawk works but there is some issue with passed/failed/no result count.


In the below output, if you see there is 3 Passed, 5 Failed and 1 No result (number 9) but not sure why it showing wrong information.
Code:
root@OPT # ./output.sh
|========================================|
|        Consolidated Report Status      |
|========================================|
|   SI No     CHECKS           STATUS    |
|========================================|
|------------------------------------------|
| 1). Interface Checking  : Passed   |
|------------------------------------------|
|------------------------------------------|
| 2). OS version Checking  : Passed   |
|------------------------------------------|
|------------------------------------------|
| 3). Comp running check  : Failed   |
|------------------------------------------|
|------------------------------------------|
| 4). Verify Server Connection, for ADD/ZDZ/IDD components  :           Failed   |
|------------------------------------------|
|------------------------------------------|
| 5). Verify Service Availability, for PZPZS or ADD/ZDZ or IDD/DDM or ALRZX  : Failed   |
|------------------------------------------|
|------------------------------------------|
| 6). Verify Resiliency  : Failed   |
|------------------------------------------|
|------------------------------------------|
| 7). Verify mon component  : Passed   |
|------------------------------------------|
|------------------------------------------|
| 8). Checking the Core file  :  Failed   |
|------------------------------------------|
|------------------------------------------|
| 9). Data request checking and Usage collection checking  : Please execute /tmp/TestPerm.bash script   |
|------------------------------------------|
|========================================|
| Total e[1;32;40m Passed: 3         |
| Total e[1;31;40m Failed: 3           |
| Total No Result:          |
| Total Executed: 9                      |
|========================================|

Many Thanks for the color code link, i tried that too but again it doesn't evalutes the value instead it just prints. am using printf but both below line didn't work

Code:
printf "| Total \e[1;32;40m Passed:\ " p "\        |\n"
print  "| Total \e[1;31;40m Failed: " f "           |"

# 6  
Old 01-30-2013
Apply this modification:
Code:
if(s=="Passed") ++p; if(s=="Failed") ++f; if((s!="Passed")&&(s!="Failed)) ++n;

# 7  
Old 02-01-2013
Thanks bipinajith.

I add line to handle conditions properly but somehow it takes the No Result count as 3 though it should be 1 (point 9, this should be in No Result count since there is no Passed/Failed string).

more over, for Failed count, it shows 3 instead of 5 this is where am getting confused. why is it missing to count another 2 as Failed status. Is that because of (point 4 and 5 , which is out of line)

Code:
if(s=="Passed") ++p; if(s=="Failed") ++f; if((s!="Passed")&& (s!="Failed")||(s=="") ) ++n;


ouput we get now is :
Code:
root@OPT # ./output.sh
|========================================|
|        Consolidated Report Status      |
|========================================|
|   SI No     CHECKS           STATUS    |
|========================================|
|------------------------------------------|
| 1). Interface Checking  : Passed   |
|------------------------------------------|
|------------------------------------------|
| 2). OS version Checking  : Passed   |
|------------------------------------------|
|------------------------------------------|
| 3). Comp running check  : Failed   |
|------------------------------------------|
|------------------------------------------|
| 4). Verify Server Connection, for ADD/ZDZ/IDD components  :           Failed   |
|------------------------------------------|
|------------------------------------------|
| 5). Verify Service Availability, for PZPZS or ADD/ZDZ or IDD/DDM or ALRZX  : Failed   |
|------------------------------------------|
|------------------------------------------|
| 6). Verify Resiliency  : Failed   |
|------------------------------------------|
|------------------------------------------|
| 7). Verify mon component  : Passed   |
|------------------------------------------|
|------------------------------------------|
| 8). Checking the Core file  :  Failed   |
|------------------------------------------|
|------------------------------------------|
| 9). Data request checking and Usage collection checking  : Please execute /tmp/TestPerm.bash script   |
|------------------------------------------|
|========================================|
| Total e[1;32;40m Passed: 3         |
| Total e[1;31;40m Failed: 3           |
| Total No Result:    3                   |
| Total Executed: 9                      |
|========================================|

---------- Post updated 01-02-13 at 02:59 AM ---------- Previous update was 31-01-13 at 03:40 AM ----------

Hi bipinajith/All,
Can you please explain the below line of code, I will try to sort out other issues
Code:
printf "| %s ",$0; getline; s=$0; sub(/:.*/,"",s);

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Script to generate Excel file or to SQL output data to Excel format/tabular format

Hi , i am generating some data by firing sql query with connecting to the database by my solaris box. The below one should be the header line of my excel ,here its coming in separate row. TO_CHAR(C. CURR_EMP_NO ---------- --------------- LST_NM... (6 Replies)
Discussion started by: dani1234
6 Replies

2. Shell Programming and Scripting

Dispaying output in tabular form

hi, I have a script which is dispaying the output as below: Column 3:value1 Column 4:value 4 column 8:value 8 column 9:value 9 column 13:value 13 Column 3:value10 Column 4:value 40 column 8:value 80 column 9:value 90 column 13:value 103 However,I need the output in tabular... (5 Replies)
Discussion started by: Vivekit82
5 Replies

3. Shell Programming and Scripting

Grep command output in tabular format

I have a grep command script which works fine and give the correct results but i wanted the output to be displayed in tabular format ? Is it possible to display the output in tabular format and as well direct them to some file. main script : #!/usr/bin/bash Start_Time=`date '+%m%d%y... (1 Reply)
Discussion started by: Optimus81
1 Replies

4. Shell Programming and Scripting

script to mail monitoring output if required or redirect output to log file

Below script perfectly works, giving below mail output. BUT, I want to make the script mail only if there are any D-Defined/T-Transition/B-Broken State WPARs and also to copy the output generated during monitoring to a temporary log file, which gets cleaned up every week. Need suggestions. ... (4 Replies)
Discussion started by: aix_admin_007
4 Replies

5. Shell Programming and Scripting

Displaying output in the tabular format

Hi I want to display the following input data into the tabular format as shown in the output. Input.txt: Following jobs are in pending state for more than 10 minutes: JOB_ID JOB_SUBMIT_ID MAHAR 784308 PUNJA 109367 Following jobs are running for longer time: JOB_ID... (1 Reply)
Discussion started by: dats
1 Replies

6. UNIX for Dummies Questions & Answers

Put data in tabular form..

Dear Friends, I have a file as under : +++ ME 12-06-13 18:16:20 A RED FEW AND ROW1 1MN FEL AS HI FI BV LR TS HR ES MR * 0 13296 0 120 1 15 KS RR 10 0 +++ ME 12-06-13 18:26:20 A RED FEW AND ROW2 1MN FEL AS... (2 Replies)
Discussion started by: vanand420
2 Replies

7. UNIX for Dummies Questions & Answers

Put data into tabular form

Hi I am having a file which is required to be presented in the under-noted output form. Please suggest. Input: Kapil: apple 4 banana 6 cherry 0 Manoj: apple 13 banana cheery 2 Output: apple banana cherry Kapil: 4 6 0 Manoj: 13 2 Thanks in... (4 Replies)
Discussion started by: vanand420
4 Replies

8. Shell Programming and Scripting

generate tabular output from an input text file in unix shell scripting

Hi, I have the output (as below) which i want it to be in a table. For e.g. space utilization in PSE on path /logs is 0% space utilization in PSE on path /logs/tuxedo/tuxlsp is 16% space utilization in PSE on path /ldvarlsp/lsp/log is 37% space utilization in PSE on path /home is 6%... (7 Replies)
Discussion started by: pkbond
7 Replies

9. Shell Programming and Scripting

Displaying the output in the tabular Format

Hi, I have a file which contains the data in the below format and need to develop a script which will give the output in the tabular format. Could you please advice me. Folder: Workflow: version . Workflow run status: Workflow run error code: Schedule time: Workflow run type: ... (2 Replies)
Discussion started by: kandi.reddy
2 Replies

10. UNIX for Advanced & Expert Users

How to parse through a file and based on condition form another output file

I have one file say CM.txt which contains values like below.Its just a flat file 1000,A,X 1001,B,Y 1002,B,Z ... .. total around 4 million lines of entries will be in that file. Now i need to write another file CM1.txt which should have 1000,1 1001,2 1002,3 .... ... .. Here i... (6 Replies)
Discussion started by: sivasu.india
6 Replies
Login or Register to Ask a Question