Output formatting .


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Output formatting .
# 1  
Old 03-24-2011
Output formatting .

below is a CPU utilization Log for ABC server.
However for every 15 minutes it generates 3 CPU values(with interval of 2 sec).
Code:
Host  CPU CPUtotal CPU% time
ABC 101.1 2 50.55 14 : 15
ABC 100.5 2 50.25 14 : 15
ABC 100.2 2 50.1 14 : 15
ABC 100.9 2 50.45 14 : 30
ABC 100.5 2 50.25 14 : 30
ABC 100.4 2 50.2 14 : 30
ABC 101.0 2 50.5 14 : 45
ABC 100.9 2 50.45 14 : 45
ABC 100.4 2 50.2 14 : 45
ABC 101.1 2 50.55 15 : 00
ABC 100.7 2 50.35 15 : 00
ABC 100.5 2 50.25 15 : 00
ABC 101.1 2 50.55 15 : 15
ABC 101.0 2 50.5 15 : 15
ABC 100.5 2 50.25 15 : 15
ABC 101.1 2 50.55 15 : 30
ABC 100.9 2 50.45 15 : 30
ABC 100.4 2 50.2 15 : 30
ABC 102.2 2 51.1 15 : 45
ABC 101.4 2 50.7 15 : 45
ABC 100.7 2 50.35 15 : 45

How would i list average value of cpu % at after every 15 minuates.
Say.
Code:
ABC 101.1 2 50 14 : 15
ABC 101.1 2 50 15 : 00
ABC 101.1 2 50 15 : 15
ABC 100.4 2 50 15 : 30
ABC 102.2 2 50 15 : 45

Please suggest .

---------- Post updated at 06:43 AM ---------- Previous update was at 05:33 AM ----------

I can generate the output like this but this is not what i expect.
Code:
$ awk '{sum+=$4; ++n; print $4 }; END { print "------"; print "Tot="sum"("n")";print "Avg="sum"/"n"="sum/n} ' cpu.txt
50.55
50.25
50.1
50.45
50.25
50.2
50.5
50.45
50.2
50.55
50.35
50.25
50.55
50.5
50.25
50.55
50.45
50.2
51.1
50.7
50.35
------
Tot=1058.75(21)
Avg=1058.75/21=50.4167

but i m expecting output in following format.



Code:
ABC 101.1 2 50 14 : 15
ABC 101.1 2 50 15 : 00
ABC 101.1 2 50 15 : 15
ABC 100.4 2 50 15 : 30
ABC 102.2 2 50 15 : 45

# 2  
Old 03-24-2011
Quote:
Originally Posted by pinga123
...
Code:
Host  CPU CPUtotal CPU% time
ABC 101.1 2 50.55 14 : 15
ABC 100.5 2 50.25 14 : 15
ABC 100.2 2 50.1 14 : 15
ABC 100.9 2 50.45 14 : 30
ABC 100.5 2 50.25 14 : 30
ABC 100.4 2 50.2 14 : 30
ABC 101.0 2 50.5 14 : 45
ABC 100.9 2 50.45 14 : 45
ABC 100.4 2 50.2 14 : 45
ABC 101.1 2 50.55 15 : 00
ABC 100.7 2 50.35 15 : 00
ABC 100.5 2 50.25 15 : 00
ABC 101.1 2 50.55 15 : 15
ABC 101.0 2 50.5 15 : 15
ABC 100.5 2 50.25 15 : 15
ABC 101.1 2 50.55 15 : 30
ABC 100.9 2 50.45 15 : 30
ABC 100.4 2 50.2 15 : 30
ABC 102.2 2 51.1 15 : 45
ABC 101.4 2 50.7 15 : 45
ABC 100.7 2 50.35 15 : 45

How would i list average value of cpu % at after every 15 minuates.
Say.
Code:
ABC 101.1 2 50 14 : 15
ABC 101.1 2 50 15 : 00
ABC 101.1 2 50 15 : 15
ABC 100.4 2 50 15 : 30
ABC 102.2 2 50 15 : 45

...
With reference to your desired output -

Code:
ABC 101.1 2 50 14 : 15
ABC 101.1 2 50 15 : 00
ABC 101.1 2 50 15 : 15
ABC 100.4 2 50 15 : 30
ABC 102.2 2 50 15 : 45

(a) Why do you not want 14:30 and 14:45 in your output ?
(b) Is 50 the average value ? What is it the average of ?
(c) Why do all the lines have 50 as the average ?

tyler_durden
# 3  
Old 03-24-2011
Quote:
Originally Posted by durden_tyler
With reference to your desired output -

Code:
ABC 101.1 2 50 14 : 15
ABC 101.1 2 50 15 : 00
ABC 101.1 2 50 15 : 15
ABC 100.4 2 50 15 : 30
ABC 102.2 2 50 15 : 45

(a) Why do you not want 14:30 and 14:45 in your output ?
(b) Is 50 the average value ? What is it the average of ?
(c) Why do all the lines have 50 as the average ?

tyler_durden
1)Why do you not want 14:30 and 14:45 in your output ?
Ans:For every 15 min interval there are 3 entries generated therefore i need only one entry specifying average of cpu %.
2)Is 50 the average value ? What is it the average of ?
No its not it was just an example it may be 49.54 (i didn't use calc).
3)Why do all the lines have 50 as the average ?
I guess above says it all.

I will make it more clear to avoid any further confusion.It seems to be very difficult for me to think of any logic.

ok i will make it more clear.
Quote:
Host CPU CPUtotal CPU% time
ABC 101.1 2 50.55 14 : 15
ABC 100.5 2 50.25 14 : 15
ABC 100.2 2 50.1 14 : 15
ABC 100.9 2 50.45 14 : 30
ABC 100.5 2 50.25 14 : 30

I would like to take above file as input .
Notice that for every 15 minuate interval there are some entries generated.
for example : for 14:15 there are 3 entries .
for 14:30 there are 2 entries.

I would like to get average of cpu% considering time.
say.
Quote:
ABC 100.6 2 50.3 14 : 15
ABC 100.7 2 50.33 14 : 30

Last edited by pinga123; 03-25-2011 at 01:45 AM..
# 4  
Old 03-25-2011
Code:
awk 'NR>1{perc+=$4} NR>1 && (NR-1)%3==0{avg[count++] = $1" "$2" "$3" "perc/3" "$5$6$7; perc=0} END{for (i=0;i<count;i++) print avg[i]}' file

Add another var to average CPU as well
# 5  
Old 03-25-2011
@pinga
Didn't that command worked which i gave ?
# 6  
Old 03-25-2011
Quote:
Originally Posted by dinjo_jo
@pinga
Didn't that command worked which i gave ?
Not on console now.Will check and let you know .
Thanks for the help.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Formatting the Output

Hi, I am trying to use printf command and format certain output in a specific format as under: While the left side (upto |) of the above format is part of a fixed header function, the right side is where i am expecting data to be printed. However, as seen, Row1 value is reflecting on last... (5 Replies)
Discussion started by: EmbedUX
5 Replies

2. Shell Programming and Scripting

Formatting the output

Hi, I have a file which contents entries in this form. Only in /data4/temp abc.000001 Only in /data4/temp abc.000003 Only in /data4/temp abc.000012 Only in /data4/temp abc.000120 Only in /data4/temp abc.000133 Only in /data4/temp abc.001444 i want to read line by line and format... (2 Replies)
Discussion started by: arijitsaha
2 Replies

3. Shell Programming and Scripting

Output Formatting

Hi Guys I need help removing some lines from output i am receiving from a shell script. Here is the output: http://i52.tinypic.com/10z0fut.png I am trying to remove the output that i have circled. . ${EDW}/extracts/bin/extracts_setup2.sh . ${EDW}/extracts/extracts.conf ... (7 Replies)
Discussion started by: mooey1232003
7 Replies

4. Shell Programming and Scripting

Formatting of output

Hi Experts, I have to create a report for certain audit and my output looks as follows I m trying to format my output to look like Any inputs would be highly appreciated Thanks Syed (5 Replies)
Discussion started by: maverick_here
5 Replies

5. Shell Programming and Scripting

formatting output

Sorry for being a n00b, but I'm having a lot more trouble than I should with formatting the output to the program I finally completed. I'm basically looking for the linux equivalent to setw( ) from c++ so that I can print things in columns like this (but without the underlines lol): MISSPELLED: ... (4 Replies)
Discussion started by: aikaterinimak
4 Replies

6. Shell Programming and Scripting

Formatting ls output

I am using find and ls to search for "warez" files on my server. find /home/ -regex ".*\.\(avi\|mp3\|mpeg\|mpg\|iso\)" -print0 | xargs -0 ls -oh This command produces this: -rw-r--r-- 1 1000 3.2M Feb 18 2009 /home/user/public_html/lupus.mp3 I want to only get this 3.2M... (4 Replies)
Discussion started by: bonrad
4 Replies

7. Shell Programming and Scripting

more help with formatting ls output...

Ok, for a fun project, my goal is to replicate the style of "catalog" on an old apple ] *A 002 SOMEAPPLESOFTFILE B 004 SOMEFILE T 006 SOMETEXT I 002 SOMEINTEGERFILE The first character is either " " or "*" depending on if the file is locked or not. Next is the filetype, so in... (1 Reply)
Discussion started by: patrick99e99
1 Replies

8. Shell Programming and Scripting

Formatting Output

Hi I tried running the below awk 'BEGIN { printf ("%s %-51s %s %-7s %s",$var1,$var2,$var3,$var4,$var5)}' from the command prompt and it is not working. Getting the error awk: Field $() is not correct. The source line number is 1. Actually my requirement is to form a string based on... (6 Replies)
Discussion started by: dhanamurthy
6 Replies

9. Shell Programming and Scripting

formatting output

Hi need some advice.. #grep -i hostname test.csv (gives the below output) HOSTNAME,name,host_test,,,,,,,, Now I need to format the above output as below. HOSTNAME: name=host_test Any easy way of doing this using awk or sed or printf? (4 Replies)
Discussion started by: balaji_prk
4 Replies

10. Shell Programming and Scripting

Formatting the output

Hi all, Have the following code(1) producing the results(2 & 3). Would like to know if there is a way to format the two reports created in a similar fashion. IE - The first is formatted nicely as a result of the echo "$xmpbdate $xavgs" >> $xmpbrpt However when I attempt to do the same on... (7 Replies)
Discussion started by: Cameron
7 Replies
Login or Register to Ask a Question