Sponsored Content
Operating Systems AIX How to get the date yesterday in AIX sh Post 302302712 by kah00na on Tuesday 31st of March 2009 05:34:18 PM
Old 03-31-2009
I got sick of trying to script yesterday's date into so many different formats that I finally wrote and stole portions of this script to do it for me. I just pass in any arguments I want and out comes yesterdays date. I named the script "yesterday" and put it in /usr/local/bin on all my boxes:

Code:
FORMAT=${1:-YYYYMMDD}

if [ "$FORMAT" = "-help" ] || [ "$FORMAT" = "-h" ]; then
        echo "Usage:    Arguments are optional and can be given in any order"
        echo "          yesterday  [YY|yy|YYYY|yyyy|MM|mm|MMM|mmm|DD|dd]"
        exit 0
fi

typeset -Z2 YESTERDAY
typeset -Z2 MONTH

YESTERDAY=$((`date +%d` -1))
MONTH=`date +%m`
YEAR=`date +%Y`
if [ "$YESTERDAY" -eq "0" ]; then
        MONTH=$((MONTH-1))
        if [ $MONTH -eq "0" ]; then
                MONTH=12
                YEAR=$((YEAR-1))
        fi
        set `cal $MONTH $YEAR`
        shift $(($# - 1))
        YESTERDAY=$1
fi

ABBR_MONTH=$(echo $MONTH | sed \
        -e "s/01/Jan/" \
        -e "s/02/Feb/" \
        -e "s/03/Mar/" \
        -e "s/04/Apr/" \
        -e "s/05/May/" \
        -e "s/06/Jun/" \
        -e "s/07/Jul/" \
        -e "s/08/Aug/" \
        -e "s/09/Sep/" \
        -e "s/10/Oct/" \
        -e "s/11/Nov/" \
        -e "s/12/Dec/")

## Print the result
echo "${FORMAT}" | sed \
        -e "s/[Mm][Mm][Mm]/${ABBR_MONTH}/" \
        -e "s/[Yy][Yy][Yy][Yy]/${YEAR}/" \
        -e "s/[Yy][Yy]/$(echo ${YEAR}|cut -c3-4)/" \
        -e "s/[Mm][Mm]/${MONTH}/" \
        -e "s/[Dd][Dd]/${YESTERDAY}/"

Here is some examples of it running:
Code:
hostname:/:$ date
Tue Mar 31 16:28:15 CDT 2009
hostname:/:$ yesterday yyyymmdd
20090330
hostname:/:$ yesterday yyyy/mm/dd
2009/03/30
hostname:/:$ yesterday MM/DD/YYYY
03/30/2009
hostname:/:$ yesterday MM-DD-YYYY
03-30-2009
hostname:/:$ yesterday "MM dd YYYY"
03 30 2009
hostname:/:$

This User Gave Thanks to kah00na For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

yesterday date month/date

Hi expert, I want to retrieve yesterday su log. How to calculate and assign variable value ( 06/23 ) in myVariable ? #!/bin/sh myVariable=yesterday date in month/date cat /var/adm/sulog | grep $myVariable > file.txt many thanks! (5 Replies)
Discussion started by: skully
5 Replies

2. Shell Programming and Scripting

Compare date from db2 table to yesterday's Unix system date

I am currently running the following Korn shell script which works fine: #!/usr/bin/ksh count=`db2 -x "select count(*) from schema.tablename"` echo "count" I would like to add a "where" clause to the 2nd line that would allow me to get a record count of all the records from schema.tablename... (9 Replies)
Discussion started by: sasaliasim
9 Replies

3. Shell Programming and Scripting

yesterday date

HI All, I am trying so long to find the yesterday's date to run a script but i failed kinldy share the command to find yesterday's date in ksh i tried with date --date='1 day ago' but it displaying error your help will highly apeerciated. Thanks (7 Replies)
Discussion started by: thelakbe
7 Replies

4. Shell Programming and Scripting

Need help in Shell Script comparing todays date with Yesterday date from Sysdate

Hi, I want to compare today's date(DDMMYYYY) with yesterday(DDMMYYYY) from system date,if (today month = yesterday month) then execute alter query else do nothing. The above requirement i want in Shell script(KSH)... Can any one please help me? Double post, continued here. (0 Replies)
Discussion started by: kumarmsk1331
0 Replies

5. Shell Programming and Scripting

How to display yesterday Date in AIX

Hi, I need help to display the yesterday date in format mentioned below: 2012-06-26-PMI tried this but it displays current date: `date +%Y-%m-%d-%p` (9 Replies)
Discussion started by: aroragaurav.84
9 Replies

6. Shell Programming and Scripting

[Solved] Replace yesterday date with today's date except from the first line

Hello, I have a file like this: 2012112920121130 12345620121130msABowwiqiq 34477420121129amABamauee e7748420121130ehABeheheei in case the content of the file has the date of yesterday within the lines containing pattern AB this should be replaced by the current date. But if I use... (3 Replies)
Discussion started by: Lilu_CK
3 Replies

7. Shell Programming and Scripting

Get yesterday date

Hi Friend, i am using OS HP-UX vvftf320 B.11.11 U 9000/800 511076331 unlimited-user license now i have used below command but it giving today's date. i need your help to get yesterdate. Please correct me. date +"%d%m%Y%H%M%S" -d "1 days ago Thanks in advance, Jewel (3 Replies)
Discussion started by: Jewel
3 Replies

8. Shell Programming and Scripting

How to get tomorrow,yesterday date from date Command

Hi I want to get tomorrow and yesterday date from date command. My shell is KSH and server is AIX. I tried several options, but unable to do. Please help on this. Regards Rajesh (5 Replies)
Discussion started by: rajeshmepco
5 Replies

9. Shell Programming and Scripting

How to append date to filename, but base it on yesterday's date?

Hello, I'd like to write a monthly archive script that archives some logs. But I'd like to do it based on yesterday's date. In other words, I'd like to schedule the script to run on the 1st day of each month, but have the archive filename include the previous month instead. Here's what I... (5 Replies)
Discussion started by: nbsparks
5 Replies

10. Shell Programming and Scripting

Shell script to compare two files of todays date and yesterday's date

hi all, How to compare two files whether they are same are not...? like i had my input files as 20141201_file.txt and 20141130_file2.txt how to compare the above files based on date .. like todays file and yesterdays file...? (4 Replies)
Discussion started by: hemanthsaikumar
4 Replies
DM_ZDUMP(1)						User Contributed Perl Documentation					       DM_ZDUMP(1)

NAME
dm_zdump - timezone dumper SYNOPSIS
This performs the same operation as the unix 'zdump' command, but using the Date::Manip module. dm_zdump [-v] [-c YEAR] [ZONE ZONE ...] DESCRIPTION
This displays the current time in each ZONE named on the command line unless the -v option is given. -h, --help Print online help. -v, --verbose This displays all critical dates (i.e. the times when a time change occurs due to the timezone description) for each of the timezones listed (or the local timezone if none are listed). Each critical date is printed as two lines of output: the last second before the change occurs, and the first second of the new time. By default, all critical dates from Jan 1, 0001 until the year 20 years in the future are printed, but this can be changed with the -c option. -c, --cutoff YEAR This specifies the cutoff year. All critical dates up to the start of YEAR are given. The GMT time Jan 01, YEAR at 00:00:00 is the cutoff time. KNOWN BUGS
None known. BUGS AND QUESTIONS
Please refer to the Date::Manip::Problems documentation for information on submitting bug reports or questions to the author. SEE ALSO
Date::Manip::Date LICENSE
This script is free software; you can redistribute it and/or modify it under the same terms as Perl itself. AUTHOR
Sullivan Beck (sbeck@cpan.org) perl v5.16.3 2014-06-09 DM_ZDUMP(1)
All times are GMT -4. The time now is 12:59 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy