Sponsored Content
Full Discussion: awk IF date comparison help
Top Forums Shell Programming and Scripting awk IF date comparison help Post 303042774 by beyondmondays on Monday 6th of January 2020 12:47:53 PM
Old 01-06-2020
awk IF date comparison help

Hey everyone,

I'm trying to create a script using awk and if that will list all of our aws tapes that have archived date that is past 90 days from todays current date, so that I can pass that to my aws command to remove.



The fifth column is the creation date in epoch/seconds, so I'm trying to compare that with todays date minus 90 days, in seconds.


Without listing all of my tapes, I'll give a few example lines that aws storagegateway describe-tape-archives spits out

Code:
TAPEARCHIVES     1576094259.759   arn:aws:storagegateway:us-east-2:391499008633:tape/WEEKD02971    WEEKD02971      1575490816.054      2748779069440    ARCHIVED
TAPEARCHIVES     1573055398.804   arn:aws:storagegateway:us-east-2:391499008633:tape/WEEK587EF9    WEEK587EF9      1572283447.825      2748779069440    ARCHIVED

And then here's the command that I'm actually trying to use

Code:
aws  storagegateway describe-tape-archives | awk -v date="$(date +%s)" -v  date1="$(expr $date - 7776000)" '{ if ($5 > $date1) {print}}'

I was also trying this but getting the same results


Code:
aws storagegateway describe-tape-archives | awk -v date="$(date +%s)" '{ if ($5+7776000 < $date) {print}}

This should just return the WEEK587EF9 line, but instead it's returning both lines. I'm a little new to awk so I'm not sure if i have my comparisons messed up, or maybe I should be using another command.

Last edited by Scrutinizer; 01-06-2020 at 02:51 PM.. Reason: Code tags for input sample
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

date comparison

How can I compare two dates in String format (eg. May 23 2006 05:30:21) in AWK? Thanks (2 Replies)
Discussion started by: dkr123
2 Replies

2. Shell Programming and Scripting

Date comparison

Hi all, I've a shell script which runs on Bourne shell. I've to do a date comparison. If the value of the supplied parameter(in format YYYYMMDD)is greater than todays's date(format YYYYMMDD), it should prompt the user that the supplied date is greater than today's date. The script is given... (6 Replies)
Discussion started by: sumesh.abraham
6 Replies

3. Shell Programming and Scripting

date comparison in bash

Hi I have this simple script: #!/bin/bash date1=2009:07:15:12:36 date2=2009:07:15:12:16 echo $date1 echo $date2 datediff= #datediff=date1-date2 echo datediff is$datediff How do i return the difference in seconds? (6 Replies)
Discussion started by: carp.dk
6 Replies

4. Homework & Coursework Questions

Date comparison with 'string date having slashes and time zone' in Bash only

1. The problem statement, all variables and given/known data: I have standard web server log file. It contains different columns (like IP address, request result code, request type etc) including a date column with the format . I have developed a log analysis command line utility that displays... (1 Reply)
Discussion started by: TariqYousaf
1 Replies

5. Shell Programming and Scripting

Date comparison using ksh

Hi All, i have a text sample below. rootdbs 1 0 01/03/2010.03:11 physdbs 2 0 01/03/2010.03:17 logdbs01 3 0 01/03/2010.03:17 logdbs02 4 0 01/03/2010.03:17 dbs01 5 0 01/03/2010.03:17 dbs02 6 0 01/03/2010.03:17 dbs03 7 0 01/03/2010.03:17 dbs04 ... (4 Replies)
Discussion started by: informix2009
4 Replies

6. Solaris

Date comparison

Date comparison Hello all I am writing a scrip that will take action so long as the date with in the file is older than 3 months. The file will contain multiple rows of data. Each row will probably start with the date. My question... What is the exact code that should be used for date... (1 Reply)
Discussion started by: UofU
1 Replies

7. UNIX for Dummies Questions & Answers

date comparison

Hi friends, I would like to compare two dates in an IF statement. This is what I am trying, but it doesn't work. date=20120122 minus=6 if ; then ... fi what would the IF clause looks like? Thanks! :) (5 Replies)
Discussion started by: kokoro
5 Replies

8. Shell Programming and Scripting

Date comparison script

hi, I have a file named user.cfg under /var/member/ #user.cfg file under /var/member/ login user: root #how are you login pass: admin #where are you M: user1 pass1 #20121008 M: user2 pass2 #20111230 M: user3 pass3 #20091220 M: user4 pass4 #20070210 M: user5 pass5 #20130708 M:... (3 Replies)
Discussion started by: baris35
3 Replies

9. Shell Programming and Scripting

Date Comparison

Hi Need some function or step to compare the date as given below. Example: Date_1: 25/04/2013 Date_2: 20/07/2012 if Date_1 is greater than Date_2 then do... else do.. fi Need exact unix steps to compare the above condition Use code tags please, see PM. (5 Replies)
Discussion started by: anshaa
5 Replies

10. UNIX for Dummies Questions & Answers

Date comparison

I have below txt file 02.05.2014 10.05.2014 17.09.2014 My requirement is the user enter date field should compare the input file if user enter date as 12.03.2013 it should compare with all date one by one from input file 12.03.2013 -ne 02.05.2014 12.03.2013 -ne 10.05.2014... (3 Replies)
Discussion started by: stew
3 Replies
BACKUP_SETEXP(8)					       AFS Command Reference						  BACKUP_SETEXP(8)

NAME
backup_setexp - Sets the expiration date for existing dump levels. SYNOPSIS
backup setexp -dump <dump level name>+ [-expires <expiration date>+] [-localauth] [-cell <cell name>] [-help] backup se -d <dump level name>+ [-e <expiration date>+] [-l] [-c <cell name>] [-h] DESCRIPTION
The backup setexp command sets or changes the expiration date associated with each specified dump level, which must already exist in the dump hierarchy. Use the -expires argument to associate an expiration date with each dump level. When the Backup System subsequently creates a dump at the dump level, it uses the specified value to derive the dump's expiration date, which it records on the label of the tape (or backup data file). The Backup System refuses to overwrite a tape until after the latest expiration date of any dump that the tape contains, unless the backup labeltape command is used to relabel the tape. If a dump level does not have an expiration date, the Backup System treats dumps created at the level as expired as soon as it creates them. (Note that the Backup System does not automatically remove a dump's record from the Backup Database when the dump reaches its expiration date, but only if the tape that contains the dump is recycled or relabeled. To remove expired and other obsolete dump records, use the backup deletedump command.) Define either an absolute or relative expiration date: o An absolute expiration date defines the month/day/year (and, optionally, hour and minutes) at which a dump expires. If the expiration date predates the dump creation time, the Backup System immediately treats the dump as expired. o A relative date defines the number of years, months, or days (or a combination of the three) after the dump's creation that it expires. When the Backup System creates a dump at the dump level, it calculates an actual expiration date by adding the relative date to the start time of the dump operation. If the command is used to change an existing expiration date associated with a dump level, the new date applies only to dumps created after the change. Existing dumps retain the expiration date assigned at the time they were created. OPTIONS
-dump <dump level name>+ Specifies the full pathname of each dump level to assign the expiration date specified by the -expires argument. -expires <expiration date>+ Defines the absolute or relative expiration date to associate with each dump level named by the -dump argument. Absolute expiration dates have the following format: [at] {NEVER | <mm>/<dd>/<yyyy> [<hh>:<MM>] } where the optional word at is followed either by the string "NEVER", which indicates that dumps created at the dump level never expire, or by a date value with a required portion (<mm> for month, <dd> for day, and <yyyy> for year) and an optional portion (<hh> for hours and <MM> for minutes). Omit the <hh>:<MM> portion to use the default of midnight (00:00 hours), or provide a value in 24-hour format (for example, "20:30" is 8:30 p.m.). Valid values for the year range from 1970 to 2037; higher values are not valid because the latest possible date in the standard UNIX representation is in February 2038. The command interpreter automatically reduces later dates to the maximum value. Relative expiration dates have the following format: [in] [<years>y] [<months>m] [<days>d] where the optional word in is followed by at least one of a number of years (maximum 9999) followed by the letter "y", a number of months (maximum 12) followed by the letter "m", or a number of days (maximum 31) followed by the letter "d". If providing more than one of the three, list them in the indicated order. If the date that results from adding the relative expiration value to a dump's creation time is later than the latest possible date in the UNIX time representation, the Backup System automatically reduces it to that date. -localauth Constructs a server ticket using a key from the local /etc/openafs/server/KeyFile file. The backup command interpreter presents it to the Backup Server, Volume Server and VL Server during mutual authentication. Do not combine this flag with the -cell argument. For more details, see backup(8). -cell <cell name> Names the cell in which to run the command. Do not combine this argument with the -localauth flag. For more details, see backup(8). -help Prints the online help for this command. All other valid options are ignored. EXAMPLES
The following example associates an absolute expiration date of 10:00 p.m. on 31 December 1999 with the dump level "/1998/december": % backup setexp -dump /1998/december -expires at 12/31/1999 22:00 The following example associates a relative expiration date of 7 days with the two dump levels "/monthly/week1" and "/monthly/week2": % backup setexp -dump /monthly/week1 /monthly/week -expires 7d PRIVILEGE REQUIRED
The issuer must be listed in the /etc/openafs/server/UserList file on every machine where the Backup Server is running, or must be logged onto a server machine as the local superuser "root" if the -localauth flag is included. SEE ALSO
backup(8), backup_adddump(8), backup_deldump(8), backup_listdumps(8) COPYRIGHT
IBM Corporation 2000. <http://www.ibm.com/> All Rights Reserved. This documentation is covered by the IBM Public License Version 1.0. It was converted from HTML to POD by software written by Chas Williams and Russ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. OpenAFS 2012-03-26 BACKUP_SETEXP(8)
All times are GMT -4. The time now is 06:08 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy