Sponsored Content
Top Forums UNIX for Dummies Questions & Answers File updation on matching key Post 302975187 by RudiC on Thursday 9th of June 2016 06:06:07 AM
Old 06-09-2016
Inferring from lines 5 and 8, the division should be done by constant 2, not the line count per key. Under the assumption that field 8, embedded in field separators, is NOT matched anywhere else in the line, try
Code:
awk 'NR == FNR {SUM[$3]+=$7+$9; next} {sub (FS $8 FS, FS sprintf ("%06d", SUM[$3]/2) FS)}1' file file
RRD       0Z91YUn000000Lk 9000100001 103020151117   STMT151117155527001            0000 2 000006 000004
RRD       0Z91YUn00000ysj 9000100001 103020151117   STMT151117155527001            0000 3 000006 000003
RRD       0Z91YUn00001vGh 9000100002 103020151117   STMT151117155527002            0000 1 000007 000007
RRD       0Z91YUn00002tng 9000100002 103020151117   STMT151117155527002            0000 0 000007 000006
RRD       0Z91YUn00003qBe 9000100003 103020151117   STMT151117155527003            0000 1 000004 000007
RRD       0Z8xgNq000000Lk 9000100005 33820160129    STMT151117155527001            0000 5 000010 000006
RRD       0Z8xgNq00000hs6 9000100005 33820160129    STMT151117155527001            0000 3 000010 000006
RRD       0Z8xgNq00001HxO 9000100006 33820160129    STMT151117155527002            0000 0 000003 000006

Should the line count matter, try
Code:
awk 'NR == FNR {SUM[$3]+=$7+$9; CNT[$3]++; next} {sub (FS $8 FS, FS sprintf ("%06d", SUM[$3]/CNT[$3]) FS)}1' file file

This User Gave Thanks to RudiC For This Post:
 

10 More Discussions You Might Find Interesting

1. Programming

Directory updation Notification?

Hi, I'm a UNIX newbie .. so forgive me if this question sounds dumb. :) Is it possible for Unix to notify a process that a particular directory has been updated? Rather that the process constantly polling the directory ... Awaiting your replies .. Thanks, VJ (6 Replies)
Discussion started by: vjsony
6 Replies

2. Linux

gcc updation on Linux machine

Hi All, I already have gcc complier installed in my machine. Its version is : gcc version 3.2.2 20030222 (Red Hat Linux 3.2.2-5) I am not sure whethere it's is latest gcc version available. I want to update my gcc version. Can anyone please suggest me what is the latest and stable gcc... (1 Reply)
Discussion started by: bisla.yogender
1 Replies

3. Shell Programming and Scripting

Matching by key fields

I have a file (key.dat) that contains two columns: AA|1234| BB|567| CC|8910| I have another file (extract.dat) that contains some data: SD|458|John|Smith| AA|3345|Frank|Williams| AA|1234|Bill|Garner| BD|0098|Yu|Lin| BB|567|Gail|Hansen| CC|8910|Ken|Nielsen| I want to compare the... (5 Replies)
Discussion started by: ChicagoBlues
5 Replies

4. Shell Programming and Scripting

awk should output if one input file doesnt have matching key

nawk -F, 'FNR==NR{a= $3 ;next} $2 in a{print $1, 'Person',$2, a}' OFS=, filea fileb Input filea Input fileb output i am getting : (2 Replies)
Discussion started by: pinnacle
2 Replies

5. AIX

Problem with updation of 'quota'

Hi, We have recently implemented 'quota' concept for the unix users. softlimit - 230MB hardlimit - 250MB We have applied the quota when few of users are more than the hardlimit,issue is that even though the users cleared the space, still its 'quota' was not updating properly. For some... (0 Replies)
Discussion started by: girish_satyam
0 Replies

6. Shell Programming and Scripting

check files updation

Hi All, Can anyone help to write the script to check files updation? i have files as mentioned below. which will be updated some time. i just want to check the last file is updating the data for last 15 mins or not. if its not updating i want to print NOT OK. if its updating data i want... (1 Reply)
Discussion started by: steve2216
1 Replies

7. Shell Programming and Scripting

Config file auto-updation

Hello All, I need to update my .cfg file which is used in the script for almost all runs. myfile.cfg file: var=1 var1=1 run=0 script: #! /bin/sh . /mydir/myfile.cfg echo $var"\t" $var1 exit So, the requirement is that the myfile.cfg should update every time I run the... (10 Replies)
Discussion started by: PikK45
10 Replies

8. Shell Programming and Scripting

Rsa public private key matching

Hi All, I have a requirement where i need to check if an rsa public key corresponds to a private key and hence return success or failure. Currently i am using the command diff <( ssh-keygen -y -e -f "$PRIVKEY" ) <( ssh-keygen -y -e -f "$PUBLICKEY" ) and its solving my purpose. This is in... (1 Reply)
Discussion started by: mritusmoi
1 Replies

9. UNIX for Dummies Questions & Answers

awk - Print lines if only matching key is found

I am looking to move matching lines (01 - 07) from File1 and 77 tab the matching string from File2, to File3.txt. I am almost done but - Currently, script is not printing lines to File3.txt in order. Thanks a lot. Any help is appreciated. Script I am using: awk 'FNR == NR && ! /^]*$/ {... (9 Replies)
Discussion started by: High-T
9 Replies

10. UNIX for Beginners Questions & Answers

Matching 2 files based on key

Hi all I have two files I need to match record from first file and second file on column 1,8 and and output only match records on file1 File1: 020059801803180116130926800002090000800231000245204003160000000002000461OUNCE000000350000100152500BM01007W0000 ... (5 Replies)
Discussion started by: arunkumar_mca
5 Replies
RRDCGI(1)							      rrdtool								 RRDCGI(1)

NAME
rrdcgi - Create web pages containing RRD graphs based on templates SYNOPSIS
"#!/path/to/"rrdcgi [--filter] DESCRIPTION
rrdcgi is a sort of very limited script interpreter. Its purpose is to run as a cgi-program and parse a web page template containing special <RRD:: tags. rrdcgi will interpret and act according to these tags. In the end it will printout a web page including the necessary CGI headers. rrdcgi parses the contents of the template in 3 steps. In each step it looks only for a subset of tags. This allows nesting of tags. The argument parser uses the same semantics as you are used from your C-shell. --filter Assume that rrdcgi is run as a filter and not as a cgi. Keywords RRD::CV name Inserts the CGI variable of the given name. RRD::CV::QUOTE name Inserts the CGI variable of the given name but quotes it, ready for use as an argument in another RRD:: tag. So even when there are spaces in the value of the CGI variable it will still be considered to be one argument. RRD::CV::PATH name Inserts the CGI variable of the given name, quotes it and makes sure it starts neither with a '/' nor contains '..'. This is to make sure that no problematic pathnames can be introduced through the CGI interface. RRD::GETENV variable Get the value of an environment variable. <RRD::GETENV REMOTE_USER> might give you the name of the remote user given you are using some sort of access control on the directory. RRD::GOODFOR seconds Specify the number of seconds this page should remain valid. This will prompt the rrdcgi to output a Last-Modified, an Expire and if the number of seconds is negative a Refresh header. RRD::INCLUDE filename Include the contents of the specified file into the page returned from the cgi. RRD::SETENV variable value If you want to present your graphs in another time zone than your own, you could use <RRD::SETENV TZ UTC> to make sure everything is presented in Universal Time. Note that the values permitted to TZ depend on your OS. RRD::SETVAR variable value Analog to SETENV but for local variables. RRD::GETVAR variable Analog to GETENV but for local variables. RRD::TIME::LAST rrd-file strftime-format This gets replaced by the last modification time of the selected RRD. The time is strftime-formatted with the string specified in the second argument. RRD::TIME::NOW strftime-format This gets replaced by the current time of day. The time is strftime-formatted with the string specified in the argument. Note that if you return : (colons) from your strftime format you may have to escape them using if the time is to be used as an argument to a GRAPH command. RRD::TIME::STRFTIME START|END start-spec end-spec strftime-format This gets replaced by a strftime-formatted time using the format strftime-format on either start-spec or end-spec depending on whether START or END is specified. Both start-spec and end-spec must be supplied as either could be relative to the other. This is intended to allow pretty titles on graphs with times that are easier for non RRDtool folks to figure out than "-2weeks". Note that again, if you return : (colon) from your strftime format, you may have to escape them using if the time is to be used as an argument to a GRAPH command. RRD::GRAPH rrdgraph arguments This tag creates the RRD graph defined by its argument and then is replaced by an appropriate <IMG ... > tag referring to the graph. The --lazy option in RRD graph can be used to make sure that graphs are only regenerated when they are out of date. The arguments to the RRD::GRAPH tag work as described in the rrdgraph manual page. Use the --lazy option in your RRD::GRAPH tags, to reduce the load on your server. This option makes sure that graphs are only regenerated when the old ones are out of date. If you do not specify your own --imginfo format, the following will be used: <IMG SRC="%s" WIDTH="%lu" HEIGHT="%lu"> Note that %s stands for the filename part of the graph generated, all directories given in the PNG file argument will get dropped. RRD::PRINT number If the preceding RRD::GRAPH tag contained and PRINT arguments, then you can access their output with this tag. The number argument refers to the number of the PRINT argument. This first PRINT has number 0. RRD::INTERNAL <var> This tag gets replaced by an internal var. Currently these vars are known: VERSION, COMPILETIME. These vars represent the compiled-in values. EXAMPLE 1 The example below creates a web pages with a single RRD graph. #!/usr/local/bin/rrdcgi <HTML> <HEAD><TITLE>RRDCGI Demo</TITLE></HEAD> <BODY> <H1>RRDCGI Example Page</H1> <P> <RRD::GRAPH demo.png --lazy --title="Temperatures" DEF:cel=demo.rrd:exhaust:AVERAGE LINE2:cel#00a000:"D. Celsius"> </P> </BODY> </HTML> EXAMPLE 2 This script is slightly more elaborate, it allows you to run it from a form which sets RRD_NAME. RRD_NAME is then used to select which RRD you want to use as source for your graph. #!/usr/local/bin/rrdcgi <HTML> <HEAD><TITLE>RRDCGI Demo</TITLE></HEAD> <BODY> <H1>RRDCGI Example Page for <RRD::CV RRD_NAME></H1> <H2>Selection</H2> <FORM><INPUT NAME=RRD_NAME TYPE=RADIO VALUE=roomA> Room A, <INPUT NAME=RRD_NAME TYPE=RADIO VALUE=roomB> Room B. <INPUT TYPE=SUBMIT></FORM> <H2>Graph</H2> <P> <RRD::GRAPH <RRD::CV::PATH RRD_NAME>.png --lazy --title "Temperatures for "<RRD::CV::QUOTE RRD_NAME> DEF:cel=<RRD::CV::PATH RRD_NAME>.rrd:exhaust:AVERAGE LINE2:cel#00a000:"D. Celsius"> </P> </BODY> </HTML> EXAMPLE 3 This example shows how to handle the case where the RRD, graphs and cgi-bins are separate directories #!/.../bin/rrdcgi <HTML> <HEAD><TITLE>RRDCGI Demo</TITLE></HEAD> <BODY> <H1>RRDCGI test Page</H1> <RRD::GRAPH /.../web/pngs/testhvt.png --imginfo '<IMG SRC=/.../pngs/%s WIDTH=%lu HEIGHT=%lu >' --lazy --start -1d --end now DEF:http_src=/.../rrds/test.rrd:http_src:AVERAGE AREA:http_src#00ff00:http_src > </BODY> </HTML> Note 1: Replace /.../ with the relevant directories Note 2: The SRC=/.../pngs should be paths from the view of the webserver/browser AUTHOR
Tobias Oetiker <tobi@oetiker.ch> 1.4.7 2008-12-22 RRDCGI(1)
All times are GMT -4. The time now is 05:37 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy