Here is a demo of a perl script that accepts a date on the command line. It returns a shell exit status code according to whether the difference in days compared to today's date is less than the default of 30. If a second parameter is given on the command line, that value will be used instead of 30:
Code:
#!/usr/bin/env bash
# @(#) s1 Demonstrate days between dates with perl Date::Calc module.
# Utility functions: print-as-echo, print-line-with-visual-space, debug.
# export PATH="/usr/local/bin:/usr/bin:/bin"
pe() { for _i;do printf "%s" "$_i";done; printf "\n"; }
pl() { pe;pe "-----" ;pe "$*"; }
db() { ( printf " db, ";for _i;do printf "%s" "$_i";done;printf "\n" ) >&2 ; }
db() { : ; }
C=$HOME/bin/context && [ -f $C ] && $C perl divepm
pe
pe " Modules used by perl code p1:"
divepm -q -i p1
# Set test date and length:
length=30
TD=${1-"10/22/2013"}
pl " Results for date $TD:"
./p1 $TD && pe " Less than $length" || pe " Greater than $length"
TD="11/15/2013"
pl " Results for date $TD:"
./p1 $TD && pe " Less than $length" || pe " Greater than $length"
# Set a new length.
length=5
pl " Results for date $TD, length $length:"
./p1 $TD $length && pe " Less than $length" || pe " Greater than $length"
exit 0
producing:
Code:
$ ./s1
Environment: LC_ALL = C, LANG = C
(Versions displayed with local utility "version")
OS, ker|rel, machine: Linux, 2.6.26-2-amd64, x86_64
Distribution : Debian 5.0.8 (lenny, workstation)
bash GNU bash 3.2.39
perl 5.10.0
divepm (local) 1.4
Modules used by perl code p1:
1.04 strict
1.06 warnings
5.4 Date::Calc
-----
Results for date 10/22/2013:
today is 2013, 11, 25, length = 30
input date for comparison = 2013, 10, 22
Difference = 34
Greater than 30
-----
Results for date 11/15/2013:
today is 2013, 11, 25, length = 30
input date for comparison = 2013, 11, 15
Difference = 10
Less than 30
-----
Results for date 11/15/2013, length 5:
today is 2013, 11, 25, length = 5
input date for comparison = 2013, 11, 15
Difference = 10
Greater than 5
The debugging output can be suppressed as noted in the perl script. Download the file p1.txt, rename it as p1, make it executable, then use it as in the demo script.
Hi all
I have to compare maps/files on two seperate boxes and the output must be as following:
1)list the maps/file on box1
2)list the maps/file on box2
3)List maps in both the environments
a) which are same
b)which are different
pls any ideas are appreciated
thnks (2 Replies)
I have an expect script that interrogates several hundred unix servers for both access and directories therein using "ssh user@host ls -l /path". The combination of host/path are unique but the host may be interrogated multiple times if there are multiple paths to test.
The expect script is run... (2 Replies)
Hi all,
I've used various scripts in the past to work out the date last week from the current date, however I now have a need to work out the date 1 week from a given date.
So for example, if I have a date of the 23rd July 2010, I would like a script that can work out that one week back was... (4 Replies)
Hi,
I have many files in the source directory but I need to process with the latest timestamp file.
I am using linux operating system. i want extract the file created timestamp( Ext_File_create_date=)
With this format YYYYMMDD-
i have searched the relevent command in the unix forms but did... (5 Replies)
Dear all,
I have 2 questions.
I have a file with many rows which has date of the format YYYYMMDD.
1. I need to change the date to that weeks friday date(Ex: 20120716(monday) to 20120720). Satuday/Sunday has to be changed to next week friday date too.
2. After converting the date to... (10 Replies)
Dear all
Would anyone tell me how to prevent user from input non asterisk(i.e. *) character via keyboard?
#!/bin/ksh
targetHour=-1
while ]
do
echo "Please input target hour":
read targetHour
done
When I execute the above coding, and then input a "j", it return the following... (3 Replies)
Hi All, Please suggest some file comparison tool in Linux.
The tool have the provision for command line option for file comparison and the output will be stored in to html file. Thanks in advance (2 Replies)
i try to set linux date & time in specific format but it keep giving me error
Example :
date "+%d-%m-%C%y %H:%M:%S" -d "19-01-2017 00:05:01"
or
date +"%d-%m-%C%y %H:%M:%S" -d "19-01-2017 00:05:01"
keep giving me this error :
date: invalid date ‘19-01-2017 00:05:01'
Please use CODE tags... (7 Replies)
Can someone help me with the code wherein there is a file f1.txt with different column and 34 column have expiry date and I need to get that and compare with system date and if expiry date is <system date remove those rows and other rows should be moved to new file f2.txt .
I don't want to delete... (2 Replies)
I m working on shell scripting and I m stuck where in my .txt file there is column as expiry date and I need to compare that date with system date and need to remove all the rows where expiry date is less than system date and create a new .txt with update. (1 Reply)
Discussion started by: Stuti
1 Replies
LEARN ABOUT PLAN9
getdate
GETDATE(1) User Commands GETDATE(1)NAME
getdate - AME
SYNOPSIS
[-dv][-n dec][-f format] [ra dec sys] itype2otype [date and/or time]
DESCRIPTION
Convert date and time between various formats
[-dv][-n dec][-f format] itype2otype @file
itype: nfd=ISOFITS fd=FITS, dt=yyyy.mmdd, hr=hh:mm:ss, deg=dd:mm:ss
jd=Julian Date, mjd=Modified Julian Date hjd=Heliocentric Julian Date, mhjd=Modified HJD ep=epoch, epj=Julian epoch, epb=Besselian
epoch lt=local time, ut=UT, ts=seconds since 1950-01-01 now=current time, ang=fractional degrees
otype: fd=FITS, dt=yyyy.mmdd, jd=Julian Date, mjd=Modified Julian Date
hjd=Heliocentric Julian Date, mhjd=Modified HJD hr=hh:mm:ss, deg=dd:mm:ss, ang=fractional degrees ep=epoch, epj=Julian epoch,
epb=Besselian epoch ts=seconds since 1950-01-01, tsu=Unix sec, tsi=IRAF sec gst=Greenwich Sidereal Time, lst=Local Sidereal Time
@file: First one or two columns are in itype format ra dec sys: Need for Heliocentric conversions
-a: Append date to input file, if there is one
-d: Print date without time
-e: Print output as ET/TDT/TT converting from UT
-f: Format for output number (C printf)
-h hours: Longitude in hours, west positive
-l degrees: Longitude in degrees, west positive
-n: Number of decimal places in sec, epoch, JD
-t: Print time without date
-v: Verbose
getdate 3.8.4 June 2012 GETDATE(1)