Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

Unix Shell script using AWK

Posted on 2007-11-15
4
Medium Priority
?
828 Views
Last Modified: 2012-06-27
$ ps vx | head -1 ; ps vx| egrep –v “idsldap | root” | grep –v PID |sort –rn +3 | head -10

PID TTY      STAT   TIME   MAJFL   TRS       DRS           RSS    % MEM       COMMAND
29403 ?       S        58:12      0         43           2362188   247084    0.7       db2agent (WPS1002) 0                
26440 ?      S        54:30     11        43          1939204    57404      0.1       db2agent (WPS1005) 0                
29417 ?       S        44:44      1         43           2721112   137272    0.4       db2agent (WPS1003) 0                
28698 ?       S        11:59      1         43           2348732   217272    0.6       db2agent (WPS1002) 0                
28228 ?       S          5:51      0         43           2349244   243492    0.7       db2agent (WPS1002) 0                
 4459 ?        S          4:48    111       43           2094192   162412    0.4       db2agent (WPS1004) 0                
 3180 ?       S          4:36      2         43           2720848    50964     0.1       db2agent (WPS1003) 0                
23302 ?      S          4:59      0         43           2721988    187180   0.5       db2agent (WPS1003) 0                
17972 ?       S          4:22      0         43           2720440    173944   0.5       db2agent (WPS1003) 0                
17970 ?        S          4:06      0         43           1939020    51924     0.1       db2agent (idle) 0                    


Hi Unix experts,

 I am looking for a unix shell script which  awks all databases(WPS1002,WPS1003,…..) and sum up the time  and RSS.

Database             Time(cpu)         RSS           %MEM
WPS1002    
WPS1003                  

Thanks,
Ahmed.
0
Comment
Question by:1981m
  • 3
4 Comments
 
LVL 85

Expert Comment

by:ozo
ID: 20294636
| awk '{rss[$11]+=$7;split($4,t,":");time[$11]+=y[0]*60+t[1]}END{for( n in rss ){ printf "%s\t%s\t%d:%02d\n",n,rss[n],time[n]/60, time[n]%60}}'
0
 

Author Comment

by:1981m
ID: 20302218
Hi ozo,

 This script is partially working, but it is not summing up the time.The time should be in HH:MM:Sec format.

Thanks.
0
 
LVL 85

Expert Comment

by:ozo
ID: 20303117
| awk '{rss[$11]+=$7;split($4,t,":");time[$11]+=t[1]*60+t[2]}END{for( n in rss ){ printf "%s\t%s\t%d:%02d\n",n,rss[n],time[n]/60, time[n]%60}}
0
 
LVL 85

Accepted Solution

by:
ozo earned 500 total points
ID: 20303141
There was only one : in the times in the example, if there are sometimes one : and sometimes two
awk '{rss[$11]+=$7;s=0;for(n=1;n<=split($4,t,":");n++){s*=60; s+=t[n]}time[$11]+=s}END{for( n in rss ){ printf "%s\t%s\t%d:%02d:%02d\n",n,rss[n],time[n]/60/60, time[n]/60%60,time[n]%60}}'
0

Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

The purpose of this article is to fix the unknown display problem in Linux Mint operating system. After installing the OS if you see Display monitor is not recognized then we can install "MESA" utilities to fix this problem or we can install additio…
The purpose of this article is to demonstrate how we can upgrade Python from version 2.7.6 to Python 2.7.10 on the Linux Mint operating system. I am using an Oracle Virtual Box where I have installed Linux Mint operating system version 17.2. Once yo…
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.
In a previous video, we went over how to export a DynamoDB table into Amazon S3.  In this video, we show how to load the export from S3 into a DynamoDB table.
Suggested Courses
Course of the Month12 days, 4 hours left to enroll

916 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question