Sponsored Content
Top Forums Shell Programming and Scripting Script (ksh) to get data in every 30 mins interval for the given date Post 302859911 by rpm120 on Friday 4th of October 2013 07:16:04 AM
Old 10-04-2013
Quote:
Originally Posted by Don Cragun
I agree with pravin27 that your input data has out of range timestamps. It is also weird that you want the final entry in your output to have timestamps 23:29:59 and 23:59:59 rather than 23:30:00 and 23:59:59. But, following you general pattern and ignoring the out of range data, the following script seems to do what you want:
Code:
#!/bin/ksh
printf "Enter the date (YYYY/MM/DD): "
read dd
awk -F '[ :]' -v dd="$dd" '
BEGIN { fmt = "Batches that were successful on %s between %02d:%02d:00 " \
                "and %02d:%02d:59 : %d\n"
}
$1 == dd && $NF == "successful" { s[$2 + 0, $3 > 29]++ }
END {   for(h = 0; h < 24; h++)
                 for(m = 0; m < 2; m++)
                        printf(fmt, dd, h, m * 30, h, m * 30 + 29, s[h, m])
}' log

producing the output:
Code:
Enter the date (YYYY/MM/DD): 2013/03/07
Batches that were successful on 2013/03/07 between 00:00:00 and 00:29:59 : 0
Batches that were successful on 2013/03/07 between 00:30:00 and 00:59:59 : 0
Batches that were successful on 2013/03/07 between 01:00:00 and 01:29:59 : 2
Batches that were successful on 2013/03/07 between 01:30:00 and 01:59:59 : 1
Batches that were successful on 2013/03/07 between 02:00:00 and 02:29:59 : 1
Batches that were successful on 2013/03/07 between 02:30:00 and 02:59:59 : 0
Batches that were successful on 2013/03/07 between 03:00:00 and 03:29:59 : 0
Batches that were successful on 2013/03/07 between 03:30:00 and 03:59:59 : 0
Batches that were successful on 2013/03/07 between 04:00:00 and 04:29:59 : 0
Batches that were successful on 2013/03/07 between 04:30:00 and 04:59:59 : 0
Batches that were successful on 2013/03/07 between 05:00:00 and 05:29:59 : 1
Batches that were successful on 2013/03/07 between 05:30:00 and 05:59:59 : 1
Batches that were successful on 2013/03/07 between 06:00:00 and 06:29:59 : 0
Batches that were successful on 2013/03/07 between 06:30:00 and 06:59:59 : 1
Batches that were successful on 2013/03/07 between 07:00:00 and 07:29:59 : 0
Batches that were successful on 2013/03/07 between 07:30:00 and 07:59:59 : 0
Batches that were successful on 2013/03/07 between 08:00:00 and 08:29:59 : 1
Batches that were successful on 2013/03/07 between 08:30:00 and 08:59:59 : 0
Batches that were successful on 2013/03/07 between 09:00:00 and 09:29:59 : 0
Batches that were successful on 2013/03/07 between 09:30:00 and 09:59:59 : 0
Batches that were successful on 2013/03/07 between 10:00:00 and 10:29:59 : 2
Batches that were successful on 2013/03/07 between 10:30:00 and 10:59:59 : 2
Batches that were successful on 2013/03/07 between 11:00:00 and 11:29:59 : 1
Batches that were successful on 2013/03/07 between 11:30:00 and 11:59:59 : 0
Batches that were successful on 2013/03/07 between 12:00:00 and 12:29:59 : 0
Batches that were successful on 2013/03/07 between 12:30:00 and 12:59:59 : 1
Batches that were successful on 2013/03/07 between 13:00:00 and 13:29:59 : 1
Batches that were successful on 2013/03/07 between 13:30:00 and 13:59:59 : 1
Batches that were successful on 2013/03/07 between 14:00:00 and 14:29:59 : 3
Batches that were successful on 2013/03/07 between 14:30:00 and 14:59:59 : 2
Batches that were successful on 2013/03/07 between 15:00:00 and 15:29:59 : 2
Batches that were successful on 2013/03/07 between 15:30:00 and 15:59:59 : 3
Batches that were successful on 2013/03/07 between 16:00:00 and 16:29:59 : 3
Batches that were successful on 2013/03/07 between 16:30:00 and 16:59:59 : 2
Batches that were successful on 2013/03/07 between 17:00:00 and 17:29:59 : 2
Batches that were successful on 2013/03/07 between 17:30:00 and 17:59:59 : 2
Batches that were successful on 2013/03/07 between 18:00:00 and 18:29:59 : 3
Batches that were successful on 2013/03/07 between 18:30:00 and 18:59:59 : 0
Batches that were successful on 2013/03/07 between 19:00:00 and 19:29:59 : 3
Batches that were successful on 2013/03/07 between 19:30:00 and 19:59:59 : 5
Batches that were successful on 2013/03/07 between 20:00:00 and 20:29:59 : 1
Batches that were successful on 2013/03/07 between 20:30:00 and 20:59:59 : 0
Batches that were successful on 2013/03/07 between 21:00:00 and 21:29:59 : 3
Batches that were successful on 2013/03/07 between 21:30:00 and 21:59:59 : 3
Batches that were successful on 2013/03/07 between 22:00:00 and 22:29:59 : 0
Batches that were successful on 2013/03/07 between 22:30:00 and 22:59:59 : 2
Batches that were successful on 2013/03/07 between 23:00:00 and 23:29:59 : 1
Batches that were successful on 2013/03/07 between 23:30:00 and 23:59:59 : 1

when the user types in the data in red in response to the prompt for the date and the file named log contains your sample input data.
Thanks a lot for your solution....Smilie Regrets for the typo...Smilie

can you please explain the code such that it will be helpful for me to build on this... for example if I want to match some different patterns or strings.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Parsing and getting data from XML file using ksh script

Hi All, I have a xml file for example as described below <xml> <address> <street><street> <address/> <isbn>426728783932020308393930303</isbn> <book> <name> </name> </book> . . . </xml> My problem is to get the isbn number from the above described file using ksh script. Could... (6 Replies)
Discussion started by: vinna
6 Replies

2. Shell Programming and Scripting

To extract data of a perticular interval (date-time wise)

I want a shell script which extract data from a log file which contains date and time-wise data and i need the data for a perticular interval of time...what can i do??? (3 Replies)
Discussion started by: abhishek27
3 Replies

3. Shell Programming and Scripting

Need Help for interval date

Hello, I need help about a shell script I have a text file with this fields: 2009/01/19 09:33:35: --> ---ORA-28817: PL/SQL function returned an error. 2009/01/19 09:33:35: --> ---ORA-28817: PL/SQL function returned an error. 2009/01/19 09:33:35: --> ---ORA-28817: PL/SQL function returned an... (4 Replies)
Discussion started by: giofai
4 Replies

4. Shell Programming and Scripting

How to Get 60 days Old date from current date in KSH script

Hi i am writing a cron job. so for it i need the 60 days old date form current date in variable. Like today date is 27 jan 2011 then output value will be stote in variable in formet Nov 27. i am using EST date, and tried lot of solution and see lot of post but it did not helpful for me. so... (3 Replies)
Discussion started by: Himanshu_soni
3 Replies

5. Shell Programming and Scripting

KSH Script -- loop and data copy question

I am trying to write a script that will allow me to train others with commands that I run manually by only allowing the exact command before continuing onto the next set of commands. Here is where I come into an issue. I have changed the directories for this post. Software we run creates files... (2 Replies)
Discussion started by: hurtzdonut
2 Replies

6. Shell Programming and Scripting

Averaging data every 30 mins using AWK

A happy Monday to you all, I have a .csv file which contains data taken every 5 seconds. I want to average these 5 second data points into 30 minute averages! date co2 25/06/2011 08:04 8.31 25/06/2011 08:04 8.32 25/06/2011 08:04 8.33... (18 Replies)
Discussion started by: gd9629
18 Replies

7. Shell Programming and Scripting

AWK counting interval / histogram data

My data looks like this: frame phi psi 0 68.466774 -58.170494 1 75.128593 -51.646816 2 76.083946 -64.300102 3 77.578056 -76.464218 4 63.180199 -76.067680 5 77.203979 -58.560757 6 66.574913 -60.000214 7 73.218269 -70.978203 8 70.956879 -76.096558 9 65.538872 -76.716568... (19 Replies)
Discussion started by: chrisjorg
19 Replies

8. Shell Programming and Scripting

Run Bash Script thrice & then interval for 10 mins.

Hi... I am very new to shell scripting. I have written a script with help of this forum and some googling and it works the way I want it to. Currently this script checks for my SIP trunk registration every 5 seconds, if registration is not available then it reboots my router through telnet... (4 Replies)
Discussion started by: jeetz
4 Replies

9. UNIX for Dummies Questions & Answers

Extract only the data from ksh script running netezza query

Hi I searched this forum before posting the question, but couldnt find it, the issue i'm facing is, i'm trying to select a column from a netezza table from a korn shell script, but the query runs var=$(nzodbcsql -q "select MAX(millcount) from table1";) echo $var it returns the value like... (10 Replies)
Discussion started by: maximus_jack
10 Replies

10. UNIX for Dummies Questions & Answers

Script to search log file for last 15 mins data

Hi All, I have an issue which I'm trying to understand a way of doing, I have several nodes which contain syslog events which I want to force trigger an email initially (eventually leading to another method of alerting but to start with an email). Basically the syslog file will have hours worth... (6 Replies)
Discussion started by: mutley2202
6 Replies
All times are GMT -4. The time now is 12:47 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy