Sponsored Content
Top Forums Shell Programming and Scripting Shell Script to Loop through Quarter dates Post 303002300 by krux_rap on Monday 21st of August 2017 09:57:32 PM
Old 08-21-2017
Shell Script to Loop through Quarter dates

Hi,

Trying to automate a Postgres query using Shell script

Every month 1st week has to run a Monthly Queries to generate delimited files.

July 1st start of fiscal yr which has 4 Quarters until next June 30th

Example

If I'm running on Sept 5th it has to generate one file(Becuase it falls under first Quarter), dates should be between 2017-07-01 and 2017-08-31 to Postgres SQL as Input.
  • July - Sept (1 file)
  • Oct - Dec (2 files which should generate above file too)
  • Jan - Mar (3 files)
  • April - Jun (4 files)

Another Example
If I ran the script on Nov 5th, then it has to get me 2 sets of files
  • One from July 1st to Sept 30th
  • 2nd file from Oct 1st to Oct 31st

Code:
quarter_start_date=$(date +"%m %Y" | awk '{printf("%d-%02d-01\n", $2, int(($1 - 1) / 3) * 3 + 1)}')
echo $quarter_start_date
quarter_end_date=$(date '+%Y-%m-%d' -d "-$(date +%d) days")
echo $quarter_end_date
fiscal_year=$(date -d "+1 Year" "+%Y")
echo $fiscal_year
mon=$(date +'%m')
if [ $mon -ge 7 -a $mon -le 9 ]; then
     qtr=1
elif [ $mon -ge 10 -a $mon -le 12 ]; then
     qtr=2
elif [ $mon -ge 1 -a $mon -le 3 ]; then
     qtr=3
elif [ $mon -ge 4 -a $mon -le 6 ]; then
     qtr=4
fi
echo $qtr


Last edited by rbatte1; 08-22-2017 at 06:52 AM.. Reason: Added bullet lists
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to compare the dates in shell script

Hi How to compare created or modified date of two files help needed thanks Vajiramani :) (9 Replies)
Discussion started by: vaji
9 Replies

2. Shell Programming and Scripting

Generate quarter dates with begin date and end date

Hi All, I am trying to generate quarter dates with user giving input as begin date and end date. Example: Input by user: begin_date = "2009-01-01" end_date = 2010-04-30" required output: 2009-01-01 2009-03-31 09Q01 2009-04-01 2009-06-30 09Q02 . . till 2010-01-01 2010-03-31 10Q01 ... (9 Replies)
Discussion started by: sol_nov
9 Replies

3. Shell Programming and Scripting

Difference of 2 dates in shell script

Hi., After retrieving values from DB I have two datestamps in format: 12/01/2010:05:40:00 AM and 12/01/2010:06:00:00 PM. general time format: MM/DD/YYYY:HH:MM:SS AM or PM Any quick solution to get the difference of two in the format : 1 day(s) 12:20:00 Thanks., (6 Replies)
Discussion started by: IND123
6 Replies

4. UNIX for Dummies Questions & Answers

Find Quarter Start and End Dates

Dear Members, Depending on the current date i should find out the start and end dates of the quarter. ex: Today date is 14-Nov-2011 then Quarter start date should be Oct 1 2011 and Quarter End date should be Dec 31 2011. How can i do this? Thanks Sandeep (1 Reply)
Discussion started by: sandeep_1105
1 Replies

5. Shell Programming and Scripting

append dates going forward from today to certain line in shell script

Hi there, I have a requirement to append dates going forward to a certain line in a file. I'm not sure of how to go about this. Any help will be greatly appreciated. Thanks Slyesco:wall: (2 Replies)
Discussion started by: Slyesco
2 Replies

6. Shell Programming and Scripting

Shell script to calculate difference between 2 dates

shell script to calculate difference between 2 dates (3 Replies)
Discussion started by: gredpurushottam
3 Replies

7. Shell Programming and Scripting

Need Help:Shell Script for Solaris to change the dates in a file by one week

I have to increase the date by one week in an input when script is executed in solaris. I was able to acheive this using ksh script that is working in Linux enivironment, when i execute the same script in Solaris i am getting below error: /var/tmp\n\r-> ./script.ksh date: illegal option -- d... (3 Replies)
Discussion started by: sriramanaramoju
3 Replies

8. Shell Programming and Scripting

Shell script to work on dates

Hi Sir/Madam I have a file data.txt like below file_name date_of_creation x 2/10/2012 y 8/11/2010 z 11/3/2013 a 2/10/2013 b 3/10/2013 c ... (4 Replies)
Discussion started by: kumar85shiv
4 Replies

9. Shell Programming and Scripting

Comparing dates in shell script

Hi All, I have a date variable say dt="2014-01-06 07:18:38" Now i need to use this variable to search a log and get the entries which occured after that time. (1 Reply)
Discussion started by: Girish19
1 Replies

10. Linux

How to calculate the quarter end date according to the current date in shell script?

Hi, My question is how to calculate the quarter end date according to the current date in shell script? (2 Replies)
Discussion started by: Divya_1234
2 Replies
POSIX::strptime(3pm)					User Contributed Perl Documentation				      POSIX::strptime(3pm)

NAME
POSIX::strptime - Perl extension to the POSIX date parsing strptime(3) function SYNOPSIS
($sec, $min, $hour, $mday, $mon, $year, $wday, $yday) = POSIX::strptime("string", "Format"); DESCRIPTION
Perl interface to strptime(3) FUNCTIONS
strptime ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday) = POSIX::strptime(string, format); The result for any value not extracted is not defined. Some platforms may reliably return "undef", but this is dependent on the strptime(3) function in the underlying C library. For example, only the following fields may be relied upon: my ($min, $hour) = ( POSIX::strptime( "01:23", '%H:%M' ) )[1,2]; my ($mday, $mon, $year) = ( POSIX::strptime( "2010/07/16", '%Y/%m/%d' ) )[3,4,5]; Furthermore, not all platforms will set the $wday and $yday elements. If these values are required, use "mktime" and "gmtime": use POSIX qw( mktime ); use POSIX::strptime qw( strptime ); my ($mday, $mon, $year) = ( POSIX::strptime( "2010/07/16", '%Y/%m/%d' ) )[3,4,5]; my $wday = ( gmtime mktime 0, 0, 0, $mday, $mon, $year )[6]; SEE ALSO
strptime(3) AUTHOR
Philippe M. Chiasson <gozer@cpan.org> Kim Scheibel <kim@scheibel.co.uk> REPOSITORY
http://svn.ectoplasm.org/projects/perl/POSIX-strptime/trunk/ COPYRIGHT
Copyright 2005 by Philippe M. Chiasson <gozer@cpan.org>. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See http://www.perl.com/perl/misc/Artistic.html perl v5.14.2 2010-07-16 POSIX::strptime(3pm)
All times are GMT -4. The time now is 07:25 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy