Sponsored Content
Top Forums UNIX for Dummies Questions & Answers How to find second and fourth Monday of the month? Post 302948642 by Prathmesh on Wednesday 1st of July 2015 06:54:39 AM
Old 07-01-2015
Quote:
Originally Posted by RudiC
man bash: August and September will make the calculation fail unless the base is specified. I can't tell how far this applies to other shells...
Thanks. Script works well.

When searched more, I found out that instead of using %d option of date, if we use %e it works well.

Please find below modified script:
Code:
#!/bin/bash

YEAR=2015
for MONTH in $(seq -w 1 12)
do
        for DATE in $(seq -w 1 31)
        do
                dayofmonth=$(date -d"${YEAR}${MONTH}${DATE}" +%e 2>/dev/null)
		[ $? == 0 ] || continue
                dayofweek=$(date -d"${YEAR}${MONTH}${DATE}" +%w)
                weekofmonth=$((($dayofmonth-1)/7+1))

                if [ $dayofweek -ne 1 -o \( $weekofmonth -ne 2 -a $weekofmonth -ne 4 \) ]
                then
                        #printf "Not running today.\n"
                        continue
                else
                        MONDAY_DATE=`date -d"${YEAR}${MONTH}${DATE}" +%d.%m.%Y`
                        echo "$MONDAY_DATE"
                fi
        done
done

Output:
Code:
$ sh Monday_Date.sh
12.01.2015
26.01.2015
09.02.2015
23.02.2015
09.03.2015
23.03.2015
13.04.2015
27.04.2015
11.05.2015
25.05.2015
08.06.2015
22.06.2015
13.07.2015
27.07.2015
10.08.2015
24.08.2015
14.09.2015
28.09.2015
12.10.2015
26.10.2015
09.11.2015
23.11.2015
14.12.2015
28.12.2015
$

---------- Post updated at 04:24 PM ---------- Previous update was at 04:21 PM ----------

Quote:
Originally Posted by rbatte1
Ah, yes. I hadn't thought of Monday 7th being the first week.

Try:-
Code:
((weekofmonth=1+($dayofmonth-1)/7))

Sorry about that,
Robin Smilie
Thanks Robin/RudiC and others for all your help.

Last edited by Prathmesh; 07-01-2015 at 07:52 AM.. Reason: editing content
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Crontab First Monday of Month only

Is there a way to setup a cronjob that will only run on the first monday of the month? (3 Replies)
Discussion started by: molonede
3 Replies

2. Shell Programming and Scripting

Find all files by month

Hi, I am trying to do achieving of files by months. find /test -name \*.* -mtime +30 will give me the result of all modified files after 30 days. But lets say i want to list all files that is modified in last months... what is the command to do it? Thanks! (13 Replies)
Discussion started by: maldini
13 Replies

3. Shell Programming and Scripting

how can i find the third friday of each month?

Help please! I need to read the calendar and put the date of the third Friday of each month into a variable for comparison in an "if" statement. How would I do this? Thnx, leslie02 (10 Replies)
Discussion started by: leslie02
10 Replies

4. UNIX for Dummies Questions & Answers

find out month from a date

I would like to find out the month from a given date, how is it possible. (5 Replies)
Discussion started by: rudoraj
5 Replies

5. UNIX for Dummies Questions & Answers

I wanted to get the date of the first monday of a month.

Hi, I need to display the date of the first monday of a month. Can any one please help me on this. Thanks in advance. (6 Replies)
Discussion started by: Sheethal
6 Replies

6. UNIX for Dummies Questions & Answers

cron script -run every 2nd day of month except Monday

I know I can't schedule this in cron and would have to write a wrapper around my script and schedule it in cron ....but not sure how do to this? How do I exclude Monday if the 2nd day of the month falls on a Monday? Thanks. I tried this: 0 0 2 * 0,2-6 command And I know this doesnt... (2 Replies)
Discussion started by: newtou
2 Replies

7. UNIX for Advanced & Expert Users

Crontab For First Monday Of Every Month!!

Hi, Could any one please let me know the crontab entry for scheduling a job for every first monday of the month? Thank You in advance, Sue (2 Replies)
Discussion started by: pyaranoid
2 Replies

8. HP-UX

How to find a file created in UNIX every monday.???

Hi All Any one please suggest me... I have one directory every monday one file will be created in that directory. so if the file is created on monday or not i need check first. How can write a script??? if the file is not created i want to quit from script. Thanks K.Srinivas (5 Replies)
Discussion started by: k_s_rao7
5 Replies

9. UNIX for Advanced & Expert Users

How to find last two files for a month?

Hi All, I need to find last two files for the month. lets say there are following files in directory -rwxr-xr-x 1 user userg 1596 Mar 19 15:43 c.txt -rwxr-xr-x 1 user userg 1596 Mar 21 15:43 d.txt -rwxr-xr-x 1 user userg 1596 Mar 22 15:43 f.txt -rwxr-xr-x 1... (14 Replies)
Discussion started by: Makarand Dodmis
14 Replies

10. Shell Programming and Scripting

Find one month before date

Hi, I want two dates one will be the current date and the other one will be just one month before. Say if current month is 11/4/2014 then the other date should be 11/3/2014. #!/bin/ksh currentDtae=`date` oneMonthBefore= ? I dont know how to do it. Went through some of the related threads... (15 Replies)
Discussion started by: Sharma331
15 Replies
All times are GMT -4. The time now is 09:56 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy