awk command in hp UNIX subtract 30 days automatically from current date without date illegal option


 
Thread Tools Search this Thread
Operating Systems HP-UX awk command in hp UNIX subtract 30 days automatically from current date without date illegal option
# 1  
Old 12-24-2018
awk command in hp UNIX subtract 30 days automatically from current date without date illegal option

current date command runs well
Code:
awk -v t="$(date +%Y-%m-%d)" -F "'" '$1 < t' myname.dat

subtract 30 days fails
Code:
awk -v t="$(date --date="-30days" +%Y-%m-%d)" -F "'" '$1 < t' myname.dat

awk command in hp unix subtract 30 days automatically from current date without date illegal option error namely
Code:
date: illegal option -- -
Usage: date [-u] [+format]
       date [-u] [mmddhhmm[[cc]yy]]
       date [-a [-]sss.fff]


Last edited by Scrutinizer; 12-24-2018 at 03:53 AM..
# 2  
Old 12-24-2018
I'm not sure why you are starting another thread to discuss what seems to be the same issue, but apparently in this thread the data you're looking for is in the first field on lines in your data instead of the last field.

As has been said before, providing sample input data (in CODE tags), desired output from that sample input (in CODE tags), and a clear statement of what shell and operating system you're using (including version numbers) would make it much easier to help you.

Does the version of HP-UX you're using have a ksh93 utility? If so, what output do you get from running the command:
Code:
printf '%(%s %Y-%m-%d %H:%M:%S)T\n'

in that shell?

If you don't have a ksh93 utility, what do you get if you run that command when using ksh as your shell?

Note that your problem has absolutely nothing to do with awk; the errors you are getting are from the date utility.
# 3  
Old 12-24-2018
hello
when I run
Code:
printf '%(%s %Y-%m-%d %H:%M:%S)T\n'

I get the following error
Code:
printf:  Error processing format
printf:  Error processing format
printf:  Error processing format
printf:  Error processing format
printf:  Error processing format
printf:  Error processing format

and the version of ksh I am using 11/16/88

Last edited by kmarcus; 12-24-2018 at 04:34 AM..
# 4  
Old 12-24-2018
I repeat:
Quote:
Does the version of HP-UX you're using have a ksh93 utility? If so, what output do you get from running the command:
Code:
printf '%(%s %Y-%m-%d %H:%M:%S)T\n'

in that shell?
# 5  
Old 12-24-2018
no it doesn't have ksh93 I have Version 11/16/88 the very first 88 release on the HP UX server namely
Code:
/bin/ksh:
         $ B.11.31  Oct  1 2008 01:54:10 $
        Version 11/16/88
         blok.c $Date: 2008/08/20 12:15:51 $Revision: r11.31/1 PATCH_11.31 (PHCO_38683)
         expand.c $Date: 2008/10/28 10:48:37 $Revision: r11.31/1 PATCH_11.31 (PHCO_38683)
         builtin.c $Date: 2007/10/25 15:12:29 $Revision: r11.31/1 PATCH_11.31 (PHCO_37285)
         test.c $Date: 2008/05/01 15:55:23 $Revision: r11.31/1 PATCH_11.31 (PHCO_38162)
         strdata.c $Date: 2008/08/25 18:24:40 $Revision: r11.31/1 PATCH_11.31 (PHCO_38683)
         $Revision: @(#) ksh88 R11.31_BL2009_0729_2 PATCH_11.31 PHCO_38683


Last edited by Don Cragun; 12-24-2018 at 05:24 AM.. Reason: Add missing CODE tags again.
# 6  
Old 12-24-2018
There usually is a ksh93 version available on HP-UX systems:
Code:
/usr/dt/bin/dtksh

But it does not support %T functionality.

I think your best bet would be perl.

Code:
perl -MPOSIX -sle 'print strftime("%Y-%m-%d",localtime(time-$n*24*3600))' -- -n=30


--
Note: The --date command line option is GNU date only.

Last edited by Scrutinizer; 12-24-2018 at 12:33 PM..
# 7  
Old 12-24-2018
The following won't work on all UNIX systems and since i do not have a HP-UX system at hand you will have to test: 30 days are 30x24=720 hours. Try:

Code:
TZ=GMT+720 date

To get the date and time of 30 days ago from now. If your timezone is not GMT adjust the the offset accordingly.

I hope this helps.

bakunin
This User Gave Thanks to bakunin For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

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

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

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

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

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

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

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

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

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

10. 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
Login or Register to Ask a Question