Sponsored Content
Operating Systems HP-UX awk command in hp UNIX subtract 30 days automatically from current date without date illegal option Post 303027802 by Don Cragun on Tuesday 25th of December 2018 12:53:11 AM
Old 12-25-2018
If one were to create a sample input file named myname.dat containing:
Code:
2018-12-24'0 days ago
2018-12-17'7 days ago
2018-12-10'14 days ago
2018-12-03'21 days ago
2018-11-26'28 days ago
2018-11-25'29 days ago
2018-11-24'30 days ago
2018-11-23'31 days ago
2018-11-22'32 days ago
2018-11-21'33 days ago
2018-11-20'34 days ago
2018-11-19'35 days ago
2018-11-12'42 days ago
2018-11-05'49 days ago

and one were to create a utility named now-30days from the C source file now-30days.c:
Code:
#include <stdio.h>
#include <time.h>

#define SecondsPerDay ((time_t)24 * 60 * 60)

int main(void) {
	time_t		Target = time(NULL) - 30 * SecondsPerDay;
	char		TargetString[16];
	struct tm	*Target_tm = localtime(&Target);

	strftime(TargetString, sizeof(TargetString), "%Y-%m-%d", Target_tm);
	printf("%s\n", TargetString);
}

using the command:
Code:
make now-30days

and moving the resulting utility into a directory named in your $PATH environment variable, then the awk command:
Code:
awk -v t="$(now-30days)" -F "'" '$1 < t' myname.dat

if run in the directory containing myname.dat might produce the output:
Code:
2018-11-23'31 days ago
2018-11-22'32 days ago
2018-11-21'33 days ago
2018-11-20'34 days ago
2018-11-19'35 days ago
2018-11-12'42 days ago
2018-11-05'49 days ago

if that command were run on December 24, 2018 (like I did here a few minutes ago).

Is this what you were trying to do?

I don't believe there is anything in this that is not available on all UNIX (including HP-UX), BSD, and Linux systems. It should do some error checking on the returns from localtime(), printf(), and strftime(), but this might give you a starting point for whatever you're trying to do.
This User Gave Thanks to Don Cragun For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to find a date which is 7 days past when given current date

hii all. I have to get the date of the 7th day past from the current date. if i give the current date as sep 3 then i must get the date as 27th of august. can we get the values from the "cal" command. cal | awk '{print $2}' will this type of command work. actually my need is if today is... (17 Replies)
Discussion started by: ladtony
17 Replies

2. Solaris

date -d illegal option in Solaris

Hi All, Is it possible to run date -d option in Solaris? Do we have a work around so that -d option will be recognized by solaris as it is recognized by linux. I need this since i am using this in scripting and it works in Linux box. my problem is it doesn't work in solaris box. ... (6 Replies)
Discussion started by: linuxgeek
6 Replies

3. Shell Programming and Scripting

how to get what date was 28 days ago of the current system date IN UNIX

Hi, Anybody knows how to get what date was 28 days ago of the current system date through UNIX script. Ex : - If today is 28th Mar 2010 then I have to delete the files which arrived on 1st Mar 2010, (15 Replies)
Discussion started by: kandi.reddy
15 Replies

4. Shell Programming and Scripting

Date after 5 days from current date in YYYYMMDD format

Hello Experts, How do i get date after 5 days from current date in YYYYMMDD format? How do you compare date in YYYYMMDD format? Thanks (8 Replies)
Discussion started by: needyourhelp10
8 Replies

5. Shell Programming and Scripting

date: illegal option -- d in sun solaris

Hi all, I am trying to execute the following command in a sun solaris machine and getting the error as below. bash-2.03$ date -d "1 day ago" +%Y%m%d date: illegal option -- d bash-2.03$ uname -a SunOS gtrd02 5.8 Generic_117350-55 sun4u sparc SUNW,Sun-Fire-V440 Can anybody help me to... (1 Reply)
Discussion started by: Tuxidow
1 Replies

6. 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

7. Shell Programming and Scripting

Number of days between the current date and user defined date

I am trying to find out the number of days between the current date and user defined date. I took reference from here for the date2jd() function. Modified the function according to my requirement. But its not working properly. Original code from here is working fine. #!/bin/sh... (1 Reply)
Discussion started by: hiten.r.chauhan
1 Replies

8. Shell Programming and Scripting

Seven days past date from current date

hi all.. i want 2 know how 2 find 7days past date from current date.. when i used set datetime = `date '+%m%d%y'` i got 060613.. i just want to know hw to get 053013.. i tried using date functions but couldnt get it :( i use c shell and there is no chance that i can change that ..... (3 Replies)
Discussion started by: Rahul619
3 Replies

9. UNIX for Beginners Questions & Answers

Subscribers with Date 90 days older than current date

I have to display only those subscribers which are in "unconnected state" and the date is 90 days older than today's date. Below command is used for this purpose: cat vfsubscriber_20170817.csv | sed -e 's/^"//' -e '1d' | nawk -F '",' '{if ( (substr($11,2,4) == 2017) && ( substr($11,2,8) -lt... (1 Reply)
Discussion started by: dia
1 Replies

10. Shell Programming and Scripting

Subtract a file's modification date with current date

SunOS -s 5.10 Generic_147440-04 sun4u sparc SUNW,SPARC-Enterprise Hi, In a folder, there are files. I have a script which reads the current date and subtract the modification date of each file. How do I achieve this? Regards, Joe (2 Replies)
Discussion started by: roshanbi
2 Replies
All times are GMT -4. The time now is 11:55 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy