Today (Saturday) We will make some minor tuning adjustments to MySQL.

You may experience 2 up to 10 seconds "glitch time" when we restart MySQL. We expect to make these adjustments around 1AM Eastern Daylight Saving Time (EDT) US.


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


Login or Register to Reply

 
Thread Tools Search this Thread
# 1  
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  
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  
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  
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  
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  
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  
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 Reply

|
Thread Tools Search this Thread
Search this Thread:
Advanced Search

More UNIX and Linux Forum Topics You Might Find Helpful
Subtract a file's modification date with current date
roshanbi
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... Shell Programming and Scripting
2
Shell Programming and Scripting
Number of days between the current date and user defined date
hiten.r.chauhan
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...... Shell Programming and Scripting
1
Shell Programming and Scripting
Date after 5 days from current date in YYYYMMDD format
needyourhelp10
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... Shell Programming and Scripting
8
Shell Programming and Scripting
how to get what date was 28 days ago of the current system date IN UNIX
kandi.reddy
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,... Shell Programming and Scripting
15
Shell Programming and Scripting
How to find a date which is 7 days past when given current date
ladtony
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...... Shell Programming and Scripting
17
Shell Programming and Scripting

Featured Tech Videos