Solved

unix k shell script on dates

Posted on 2009-03-31
8
368 Views
Last Modified: 2013-12-26
I need a script in ksh that when I provide a month and year as input let us say JAN-2009 then it should split the dates into weeks and I need to store them as

WEEK1_START = '2009-01-01-00.00.00'
WEEK1_END = '2009-01-09-00.00.00'
WEEK2_START =  '2009-01-09-00.00.00'
WEEK2_END = '2009-01-16-00.00.00'
WEEK3_START ='2009-01-16-00.00.00'
WEEK3_END = '2009-01-23-00.00.00'
WEEK4_START = '2009-01-23-00.00.00'
WEEK4_END =  '2009-02-01-00.00.00'

Let me know how to get this.. I wanted weekly dates in this format since I wanted to use the above values in my db2 script which has datetime as datatype.. Thanks!!
0
Comment
Question by:mahjag
  • 4
  • 4
8 Comments
 
LVL 84

Expert Comment

by:ozo
ID: 24033703
how do you decide when a week starts and ends?
it looks like your weeks are 8, 9, or 10 days long, and usually start and end on a Friday.
Can you explain the rules for how that works?
0
 

Author Comment

by:mahjag
ID: 24033795
We got this from a customer response and would like to stick with the same dates for any month, let me know if that will be an issue..
0
 
LVL 84

Expert Comment

by:ozo
ID: 24033871
So, always 1st to 9th, 9th to 16th, 16th to 23rd, and 23rd to 1st?
0
Free Tool: Postgres Monitoring System

A PHP and Perl based system to collect and display usage statistics from PostgreSQL databases.

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.

 
LVL 84

Accepted Solution

by:
ozo earned 125 total points
ID: 24034127
#!/bin/ksh
JAN=01
FEB=02
MAR=03
APR=04
MAY=05
JUN=06
JUL=07
AUG=08
SEP=09
OCT=10
NOV=11
DEC=12
typeset -n mon=${1%-*}
year=${1#*-}
WEEK1_START=$year-${mon}-01-00.00.00
WEEK1_END=$year-${mon}-09-00.00.00
WEEK2_START=$year-${mon}-09-00.00.00
WEEK2_END=$year-${mon}-16-00.00.00
WEEK3_START=$year-${mon}-16-00.00.00
WEEK3_END=$year-${mon}-16-00.00.00
WEEK4_START=$year-${mon}-23-00.00.00
typeset -Z2 e=$(( $mon % 12 + 1 ))
WEEK4_END=$year-${e}-01-00.00.00
0
 

Author Comment

by:mahjag
ID: 24040419
Hi Ozo

I just ran the script above and got error
./weekly_dates.ksh[14]: typeset: bad option(s)
do you know why?
0
 

Author Comment

by:mahjag
ID: 24040516
I looked at man typeset and did not see option for -n
I changed that value to -x and still got syntax errors. Hope I get a solution that is tested, here is the syntax error..
./weekly_dates.ksh[23]:   % 12 + 1 : syntax error - any clues?
0
 

Author Comment

by:mahjag
ID: 24040584
I know this question is closed - but would like to get some response here to complete the task.
0
 
LVL 84

Expert Comment

by:ozo
ID: 24046784
what version of ksh are you running?
0

Featured Post

Networking for the Cloud Era

Join Microsoft and Riverbed for a discussion and demonstration of enhancements to SteelConnect:
-One-click orchestration and cloud connectivity in Azure environments
-Tight integration of SD-WAN and WAN optimization capabilities
-Scalability and resiliency equal to a data center

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Bash Script-Trigger email when server reboots 11 81
MarkLogic 1 89
unix in java example 9 71
UNIX Script. Send email if failure 8 32
Over the years I've spent many an hour playing on hardened, DMZ'd servers, with only a sub-set of the usual GNU toy's to keep me company; frequently I've needed to save and send log or data extracts from these server back to my PC, or to others, and…
Active Directory replication delay is the cause to many problems.  Here is a super easy script to force Active Directory replication to all sites with by using an elevated PowerShell command prompt, and a tool to verify your changes.
Learn how to navigate the file tree with the shell. Use pwd to print the current working directory: Use ls to list a directory's contents: Use cd to change to a new directory: Use wildcards instead of typing out long directory names: Use ../ to move…
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.

828 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