Sponsored Content
Top Forums Shell Programming and Scripting Getting a Date value based on day Post 303015846 by Don Cragun on Friday 13th of April 2018 10:44:19 PM
Old 04-13-2018
I asked what version of shell you're using, but you didn't provide an answer to that question. With a recent Korn shell, such as version 93u+, (which may be installed as ksh93 on AIX 7.1) you could try a simplified version of:
Code:
for file in "$@"
do	fd=${file##*_}
	printf 'File: %s: %(%a(%w), %Y-%m-%d)T, Previous Tuesday: %(%Y%m%d\n)T' \
	    "$file" "$fd" "$fd $((($(printf '%(%u)T' "$fd")+5)%7)) days ago"
done

which if invoked with the operands FILE_NAME_20180410, FILE_NAME_20180413, and FILE_NAME_20180409 produces the output:
Code:
File: FILE_NAME_20180410: Tue(2), 2018-04-10, Previous Tuesday: 20180410
File: FILE_NAME_20180413: Fri(5), 2018-04-13, Previous Tuesday: 20180410
File: FILE_NAME_20180409: Mon(1), 2018-04-09, Previous Tuesday: 20180403


Last edited by Don Cragun; 04-14-2018 at 12:02 AM.. Reason: Fix typo: doubled \n in printf format.
This User Gave Thanks to Don Cragun For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Getting day from a date...

Hi, I have a date input in MMDDYYYY format.. I have to give the day (whether that DD is sunday/monday...) Is there any command for it... Or do I have to write a script for that... Thanks in Advance Yeheya (1 Reply)
Discussion started by: yeheyaansari
1 Replies

2. UNIX for Dummies Questions & Answers

Add a day to a given date

Hi, I have a date field which is a variable field being passed to the script from outside. I need to know how i can add 1 day to it. I have seen example of date subtraction but while adding each time date reaches 31 or 30 i have to put if else condition. Or for leap year also. Kindly let... (4 Replies)
Discussion started by: pallet
4 Replies

3. UNIX for Dummies Questions & Answers

date - 1 day

Hi, I have been trying just about every unix command to come up with yesterday's date (today's date - 1). I have seen all of the help on this forum, and none of it seems to work for me here. We are using Sun Solaris 9 Unix. I am using this script to create a .txt file with ftp commands that I will... (2 Replies)
Discussion started by: sfedak
2 Replies

4. Shell Programming and Scripting

value of variable based on time of the day

i would need some help in setting the value of a variable (TIME_NOW) depending on the time of the day ...e.g. if today's date is 12th April 2009 and if the current time is between midnight and 16:59:59 hrs then the TIME_NOW should be yesterday's date i.e. TIME_NOW=11 else if the current time... (3 Replies)
Discussion started by: zainravi
3 Replies

5. Shell Programming and Scripting

how to obtain date and day of the week from `date` command

Hi, does anybody know how to format `date` command correctly to return the day of the week? Thanks -A I work in ksh.... (1 Reply)
Discussion started by: aoussenko
1 Replies

6. UNIX for Dummies Questions & Answers

Getting date -1 day not using GNU date

It's easy as pie to get the date minus one day on opensolaris: date -d "-1 day" +"%Y%m%d"run this command on our crappy Solaris 10 machines however (which I'm guessing doesn't have GNU date running on it) and you get: date: illegal option -- d date: illegal option -- 1 date: illegal option --... (5 Replies)
Discussion started by: rich@ardz
5 Replies

7. Shell Programming and Scripting

finding the previous day date and creating a file with date

Hi guys, I had a scenario... 1. I had to get the previous days date in yyyymmdd format 2. i had to create a file with Date inthe format yyyymmdd.txt format both are different thanks guys in advance.. (4 Replies)
Discussion started by: apple2685
4 Replies

8. AIX

Need to get the next day's date of the user entered date

I need to get the next day's date of the user entered date for example: Enter date (yyyy/mm/yy): 2013/10/08I need to get the next day's date of the user entered date Desired Output: 2013/10/09Though there are ways to achieve this is Linux or Unix environment (date command) ,I need to... (1 Reply)
Discussion started by: rpm120
1 Replies

9. UNIX for Dummies Questions & Answers

Condition based on Timestamp (Date/Time based) from logfile (Epoch seconds)

Below is the sample logfile: Userids Date Time acb Checkout time: 2013-11-20 17:00 axy Checkout time: 2013-11-22 12:00 der Checkout time: 2013-11-17 17:00 xyz Checkout time: 2013-11-19 16:00 ddd Checkout time: 2013-11-21 16:00 aaa Checkout... (9 Replies)
Discussion started by: asjaiswal
9 Replies

10. UNIX for Beginners Questions & Answers

Replace date in file every day with current date

I Have text like XXX_20190908.csv.gz need to replace Only date in this format with current date every day Thanks! (1 Reply)
Discussion started by: yamasani1991
1 Replies
DateTime::Format::Natural::Lang::EN(3pm)		User Contributed Perl Documentation		  DateTime::Format::Natural::Lang::EN(3pm)

NAME
DateTime::Format::Natural::Lang::EN - English language metadata DESCRIPTION
"DateTime::Format::Natural::Lang::EN" provides the english specific grammar and variables. This class is loaded if the user either specifies the english language or implicitly. EXAMPLES
Below are some examples of human readable date/time input in english (be aware that the parser does not distinguish between lower/upper case; furthermore, many expressions allow for additional leading/trailing time and all times are also parsable with precision in seconds): Simple now yesterday today tomorrow morning afternoon evening noon midnight yesterday at noon yesterday at midnight today at noon today at midnight tomorrow at noon tomorrow at midnight this morning this afternoon this evening yesterday morning yesterday afternoon yesterday evening today morning today afternoon today evening tomorrow morning tomorrow afternoon tomorrow evening thursday morning thursday afternoon thursday evening 6:00 yesterday 6:00 today 6:00 tomorrow 5am yesterday 5am today 5am tomorrow 4pm yesterday 4pm today 4pm tomorrow last second this second next second last minute this minute next minute last hour this hour next hour last day this day next day last week this week next week last month this month next month last year this year next year last friday this friday next friday tuesday last week tuesday this week tuesday next week last week wednesday this week wednesday next week wednesday 10 seconds ago 10 minutes ago 10 hours ago 10 days ago 10 weeks ago 10 months ago 10 years ago in 5 seconds in 5 minutes in 5 hours in 5 days in 5 weeks in 5 months in 5 years saturday sunday 11:00 yesterday at 4:00 today at 4:00 tomorrow at 4:00 yesterday at 6:45am today at 6:45am tomorrow at 6:45am yesterday at 6:45pm today at 6:45pm tomorrow at 6:45pm yesterday at 2:32 AM today at 2:32 AM tomorrow at 2:32 AM yesterday at 2:32 PM today at 2:32 PM tomorrow at 2:32 PM yesterday 02:32 today 02:32 tomorrow 02:32 yesterday 2:32am today 2:32am tomorrow 2:32am yesterday 2:32pm today 2:32pm tomorrow 2:32pm wednesday at 14:30 wednesday at 02:30am wednesday at 02:30pm wednesday 14:30 wednesday 02:30am wednesday 02:30pm friday 03:00 am friday 03:00 pm sunday at 05:00 am sunday at 05:00 pm 2nd monday 100th day 4th february november 3rd last june next october 6 am 5am 5:30am 8 pm 4pm 4:20pm 06:56:06 am 06:56:06 pm mon 2:35 1:00 sun 1am sun 1pm sun 1:00 on sun 1am on sun 1pm on sun 12:14 PM 12:14 AM Complex yesterday 7 seconds ago yesterday 7 minutes ago yesterday 7 hours ago yesterday 7 days ago yesterday 7 weeks ago yesterday 7 months ago yesterday 7 years ago today 5 seconds ago today 5 minutes ago today 5 hours ago today 5 days ago today 5 weeks ago today 5 months ago today 5 years ago tomorrow 3 seconds ago tomorrow 3 minutes ago tomorrow 3 hours ago tomorrow 3 days ago tomorrow 3 weeks ago tomorrow 3 months ago tomorrow 3 years ago 2 seconds before now 2 minutes before now 2 hours before now 2 days before now 2 weeks before now 2 months before now 2 years before now 4 seconds from now 4 minutes from now 4 hours from now 4 days from now 4 weeks from now 4 months from now 4 years from now 6 in the morning 4 in the afternoon 9 in the evening monday 6 in the morning monday 4 in the afternoon monday 9 in the evening last sunday at 21:45 monday last week 6th day last week 6th day this week 6th day next week 12th day last month 12th day this month 12th day next month 1st day last year 1st day this year 1st day next year 1st tuesday last november 1st tuesday this november 1st tuesday next november 11 january next year 11 january this year 11 january last year 6 hours before yesterday 6 hours before tomorrow 3 hours after yesterday 3 hours after tomorrow 10 hours before noon 10 hours before midnight 5 hours after noon 5 hours after midnight noon last friday midnight last friday noon this friday midnight this friday noon next friday midnight next friday last friday at 20:00 this friday at 20:00 next friday at 20:00 1:00 last friday 1:00 this friday 1:00 next friday 1am last friday 1am this friday 1am next friday 1pm last friday 1pm this friday 1pm next friday 5 am last monday 5 am this monday 5 am next monday 5 pm last monday 5 pm this monday 5 pm next monday last wednesday 7am this wednesday 7am next wednesday 7am last wednesday 7pm this wednesday 7pm next wednesday 7pm last tuesday 11 am this tuesday 11 am next tuesday 11 am last tuesday 11 pm this tuesday 11 pm next tuesday 11 pm yesterday at 13:00 today at 13:00 tomorrow at 13 2nd friday in august 3rd wednesday in november tomorrow 1 year ago saturday 3 months ago at 17:00 saturday 3 months ago at 5:00am saturday 3 months ago at 5:00pm 11 january 2 years ago 4th day last week 8th month last year 8th month this year 8th month next year 6 mondays from now fri 3 months ago at 5am wednesday 1 month ago at 8pm final thursday in april last thursday in april Timespans monday to friday 1 April to 31 August 1999-12-31 to tomorrow now to 2010-01-01 2009-03-10 9:00 to 11:00 26 oct 10:00 am to 11:00 am jan 1 to 2 16:00 nov 6 to 17:00 may 2nd to 5th 100th day to 200th 6am dec 5 to 7am 1/3 to 2/3 2/3 to in 1 week 3/3 21:00 to in 5 days first day of 2009 to last day of 2009 first day of may to last day of may first to last day of 2008 first to last day of september for 4 seconds for 4 minutes for 4 hours for 4 days for 4 weeks for 4 months for 4 years Specific march january 11 11 january 18 oct 17:00 18 oct 5am 18 oct 5pm 18 oct 5 am 18 oct 5 pm dec 25 feb 28 3:00 feb 28 3am feb 28 3pm feb 28 3 am feb 28 3 pm 19:00 jul 1 7am jul 1 7pm jul 1 7 am jul 1 7 pm jul 1 jan 24, 2011 12:00 jan 24, 2011 12am jan 24, 2011 12pm may 27th 2005 march 1st 2009 October 2006 february 14, 2004 jan 3 2010 3 jan 2000 2010 october 28 2011-jan-04 27/5/1979 1/3 1/3 16:00 4:00 17:00 3:20:00 -5min +2d 20111018000000 Aliases 5 mins ago yesterday @ noon tues this week final thurs in sep tues thurs thur SEE ALSO
DateTime::Format::Natural AUTHOR
Steven Schubiger <schubiger@cpan.org> LICENSE
This program is free software; you may redistribute it and/or modify it under the same terms as Perl itself. See <http://dev.perl.org/licenses/> perl v5.14.2 2012-05-31 DateTime::Format::Natural::Lang::EN(3pm)
All times are GMT -4. The time now is 06:37 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy