Try this awk solution if I understand what you are looking for (untested as more sample data is needed).
I have only tested this with the given data, but I'm surprised that you're showing sample output that includes the data marked in red above when there was no sample input for that date. When I tried running the above code with the given sample input, I didn't get the last line of the output shown above.
It also looks like there is a missing semicolon. Did you perhaps intend the following?:
which produces the output:
from the given sample input. And, this seems to match the given sample input.
These 2 Users Gave Thanks to Don Cragun For This Post:
Don,
Yes, I added another test record with 3/3/2015 date to test the break logic and forgot to remove it from posted output (as OP did not include it in his file). I missed the semi-colon although I'm not clear at the moment why it impacted the output (the extra decimal places). Thanks for pointing this out.
Don,
Yes, I added another test record with 3/3/2015 date to test the break logic and forgot to remove it from posted output (as OP did not include it in his file). I missed the semi-colon although I'm not clear at the moment why it impacted the output (the extra decimal places). Thanks for pointing this out.
Unlike many languages where two adjacent strings representing numbers separated by a space would be a syntax error, awk is happy to concatenate them and treat them as a single numeric string.
So if we look at the first few lines of the input file:
and the first part of your script:
On lines 3 through 5, hour will be set to 00 and (since $1 is also a constant on these three lines) the subscript in array[] and count[] on these three lines will be 03/02/2015 00. And for lines 3 through 5 we end up with:
So, the higher than expected results come from the extra digits being added to the values that are being summed.
This User Gave Thanks to Don Cragun For This Post:
I understand the concatenation but what I'm not getting is why the extra digits being added are off by one for each line. For example, for line 3, I would expect the extra digit in red to be 1 instead of 0 as count is 1. So why it is that count[$1 hour]++ is 0 when it's concatenated to the array for line 3?
Hi All,
Thank you for reading through my post and helping me figure out how I would be able to perform this task.
For example: I have a list of continuous output collected into a file in the format as seen below:
Date...........Time........C....A......... B
==========================... (5 Replies)
Hi guys
I want any script to get me next hour
For example
Nexthour.sh 2013022823
It get me result
2013030100
Thanks a lot , I'm using Solaris 10 (5 Replies)
Hi friends, I want to convert 24 hour timing to 12 hour please help me...
my data file looks like this..
13-Nov-2011 13:27:36 15.32044 72.68502
13-Nov-2011 12:08:31 15.31291 72.69807
16-Nov-2011 01:16:54 15.30844 72.74028
15-Nov-2011 20:09:25 15.35096 ... (13 Replies)
Hi,
I am getting a high load average, around 7, once an hour. It last for about 4 minutes and makes things fairly unusable for this time.
How do I find out what is using this. Looking at top the only thing running at the time is md5sum.
I have looked at the crontab and there is nothing... (10 Replies)
I have a log like this:
Jan 26 13:59:41 server2 ntpdate: step time server 91.189.94.4 offset 0.065456 sec
Jan 26 13:59:41 server2 ntpd: ntpd 4.2.4p8@1.1612-o Fri Aug 6 22:49:54 UTC 2010 (1)
Jan 26 13:59:41 server2 ntpd: precision = 1.000 usec
Jan 26 13:59:41 server2 ntpd: ntp_io: estimated max... (2 Replies)
I had some free time at work today so I decided to get a little practice with my shell scripts (I'm pretty new to the whole UNIX thing).
I'm sure I'm not the only college student here so maybe this code will come in handy for future weekends.
#!/bin/sh
if
then
echo "No playlist... (0 Replies)
i have this script that checks for yesterday date and also specific hour in that
-----------------------------------------------------------------
TZ=`date +%Z`+24 ;a=`date +%Y-%m-%d %k`
cd logs
count=0
for i in DBMaint.log
do
cat $i | grep $a >> file12.txt
done... (0 Replies)
My program:
__________________________________
#!/bin/ksh
DAY=`date +%y%m%d`
H=`date +%H`
M=`date +%M`
day=`date +%m/%d/%y`
let h=$H-1
echo DAY $DAY
echo H $H
echo M $M
echo day $day
echo h $h
_____________________________________
My result: (3 Replies)
set DAY=`date +%y%m%d`
set H=`date +%H`
set M=`date +%M`
mailx -s "$H-Mydata" myemail@mail.com<mydata
I am looking to set the current hour to have 1 hour less in the subject header:
For example: let's say the system time is 8
I want to have "7-Mydata" not "8-Mydata"
Can some1... (6 Replies)