Sponsored Content
Homework and Emergencies Homework & Coursework Questions Date comparison with 'string date having slashes and time zone' in Bash only Post 302359696 by TariqYousaf on Wednesday 7th of October 2009 07:37:24 AM
Old 10-07-2009
Question 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 [31/Mar/2002:19:30:41 +0200].

I have developed a log analysis command line utility that displays different statistics from the log (like the IP with most connection attempts, the most common result codes etc.). In fact to view every stat the user will have to give a specific switch to my utility.

Now comes the problem; with every stat the user can ask to display the results for either 1. previous n hours. or 2. previous n days. I am unable to use the date from the file with format [31/Mar/2002:19:30:41 +0200] and make a comparison with the timestamp of previous n hours or previous n days.

Constraint: I have to attempt this is only in bash.

2. School (University) and Course Number:
Blekinge Institute of Technology
MS Computer Science
 

10 More Discussions You Might Find Interesting

1. Tips and Tutorials

Simple date and time calulation in BASH

The GNU date command in full of goodies but not when it comes to calculate a date or time difference. Here is what I came up with after looking to more than one solution. Code should be self explaining. #!/bin/bash date2stamp () { date --utc --date "$1" +%s } stamp2date (){ ... (0 Replies)
Discussion started by: ripat
0 Replies

2. Shell Programming and Scripting

Date comparison in file to system time

I have a CSV (comma separated vaule) file whose entries resemble Area,\\ntsvsp02\vmcs\download\files\Areas.dat,1,20090303,0,Import Complete,2009-03-02 04:23:00 Product,\\ntsvsp02\vmcs\download\files\items.dat,1,20090303,0,Import Complete,2009-03-02 04:23:00... (3 Replies)
Discussion started by: zainravi
3 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. Shell Programming and Scripting

Getting date output based on time zone

Hi, We have a server in US and hence while the command "date" is given it gives the output in EDT. If I want the date output in MET, how can I get it. Please let me know how I could do it in the script which is ksh. Thanks. (1 Reply)
Discussion started by: jmathew99
1 Replies

5. Shell Programming and Scripting

Date and Time comparison using shell script

Hi, I'm having two fields in the file F1|F2 20111220|102000 F1 ->YYYYMMDD F2 ->HHMMSS Now, I need to compare this with current date & time and need to return the difference value in hours. Already, I checked with datecalc from the forum. So, need hints from Shell Gurus. Thanks (10 Replies)
Discussion started by: buzzusa
10 Replies

6. Shell Programming and Scripting

Date Time Change for a particular target Zone

Hi Summary: - Script will take 2 arguments - Argument 1: Date/Time value in a particular format - Argument 2: TimeZone value Examples: Argument 1: a. "May 11, 2012 08:00:00 AM" b. "Dec 21, 2012 12:21:12 PM" c. "Oct 2, 2012 05:00:00 PM" Argument 2: a. MT or MST or MDT b. ET c.... (4 Replies)
Discussion started by: anuragpgtgerman
4 Replies

7. UNIX for Dummies Questions & Answers

Converting string date time to unix time in AWK

I'd like to convert a date string in the form of sun aug 19 09:03:10 EDT 2012, to unixtime timestamp using awk. I tried This is how each line of the file looks like, different date and time in this format Sun Aug 19 08:33:45 EDT 2012, user1(108.6.217.236) all: test on the 17th ... (2 Replies)
Discussion started by: bkkid
2 Replies

8. Solaris

modifying date and time and time zone on solaris 5.10 with (redundant server) veritas

I have a cluster of two Solaris server (veritas cluster). one working and the other is standby I am going to change the date on them , and am looking for a secure solution as it is giving an important service. my opinion is that the active one doesn't need to be restarted (if I don't change the... (1 Reply)
Discussion started by: barry1946
1 Replies

9. Shell Programming and Scripting

date time stamps in bash

I'm looking for a way to have the "date" command output the date in a specific format. I'm not familiar with the different ways to use the date command at all. i read up on it, but i dont get how to manipulate it. i know that i can get the date format to give me a format like: 2012-10-13... (6 Replies)
Discussion started by: SkySmart
6 Replies

10. Shell Programming and Scripting

Date Time Zone Conversion (backwards of what I want)

I am trying to convert local time to time in Ireland. Instead it is going the opposite direction (taking the local time as it if were in Ireland and displaying that the time would be here). $ echo "$TZ"; date; date --date='TZ="Europe/Dublin" '"$(date)" America/Phoenix Mon, Apr 13, 2015... (7 Replies)
Discussion started by: Michael Stora
7 Replies
EXIFTIME(1)						      General Commands Manual						       EXIFTIME(1)

NAME
exiftime - display or adjust date & time Exif tags; list files ordered by their Exif date & time tags SYNOPSIS
exiftime [-filqw] [-s delim] [-t[acdg]] [-v[+|-]val[ymwdHMS]] file ... DESCRIPTION
When invoked without arguments, the exiftime utility displays the Exif date and time tags contained in each input file to the standard out- put. Otherwise, depending on the options specified, exiftime will operate on only the chosen tags, will adjust the date and time, will write an adjusted time to each file, or will list each file in ascending order by date and time. Most digital cameras include one or more date and time tags in the Exif data added to the image files they produce. These tags are: Image Created The date and time the image was created or changed. This is the most common tag. Image Generated The date and time the original image data was generated (i.e., when picture was taken). Image Digitized The date and time the image was stored as digital data. The format for these tags is "YYYY:MM:DD HH:MM:SS" with the time shown in 24-hour format. The exiftime utility cannot add a tag if it does not already exist in file. By default, exiftime will simply print out any of the three date and time flags in each input file. The -l flag will produce a listing of each input file in date/time order, suitable for use in further image processing (e.g., production of a Web catalog) when filename ordering is not useful. The -v flag may be used to vary, or adjust, dates and times. When used with the -w flag, which writes the adjusted date and time to each input file, one may, for example, process a batch of files to adjust for a camera's incorrectly set clock. OPTIONS
-f Write adjusted date and time tags without prompting for confirmation. -i Output a prompt to standard error before overwriting a date and time tag with the adjusted value. If the response from the standard input begins with 'y' or 'Y', the tag is overwritten. This option is default behavior. -l List each input file in ascending order by timestamp. By default, it uses the Image Created tag. In the absence of an Image Cre- ated tag, first Image Generated then Image Digitized are used. Alternatively, the -t flag may be used to specify the timestamp preference for ordering. If no date and time tags are present, the OS's epoch is used. This flag overrides all others but the -t flag. -q Do not output details of a date and time adjustment to standard out when using the -w flag. -s Separate field name and value with the string delim. The default is ': '. -t Select the date and time tags for display or adjustment when followed by one or more of a (all tags), c (Image Created), d (Image Digitized), or g (Image Generated). -v Adjust the date and time tags' second, minute, hour, month day, week day, month or year according to val. If val is preceded with a plus or minus sign, the date is adjusted forwards or backwards according to the remaining string; otherwise the relevant part of the date is set. The date can be adjusted as many times as required using these flags. Flags are processed in the order given. When providing an absolute value (rather than a relative adjustment), seconds are in the range 0-59, minutes are in the range 0-59, hours are in the range 0-23, month days are in the range 1-31, week days are in the range 0-6 (Sun-Sat), months are in the range 1-12 (Jan-Dec) and years are in the range 80-38 or 1980-2038. If val is numeric, one of either y, m, w, d, H, M, or S must be used to specify which part of the date is to be adjusted. The week day or month may be specified using a name rather than a number. If a name is used with the plus (or minus) sign, the date will be put forwards (or backwards) to the next (previous) date that matches the given week day or month. This will not adjust the date, if the given week day or month is the same as the current one. When the date is adjusted to a specific value that doesn't actually exist (for example March 26, 1:30 BST 2000 in the Europe/London timezone), the date will be silently adjusted forwards in units of one hour until it reaches a valid time. When the date is adjusted to a specific value that occurs twice (for example October 29, 1:30 2000), the resulting timezone will be set so that the date matches the earlier of the two times. In all cases, daylight savings time considerations are ignored. Refer to the examples below for further details. -w Write the adjusted date and time tags. By default, any of the three date and time tags present in the file are adjusted; otherwise, only those specified with the -t flag are adjusted. EXAMPLES
The command exiftime example1.jpg will display: Image Created: 2003:09:12 17:05:37 Image Generated: 2003:09:12 17:05:37 Image Digitized: 2003:09:12 17:05:37 The command exiftime -tcd example1.jpg will display: Image Created: 2003:09:12 17:05:37 Image Digitized: 2003:09:12 17:05:37 The command exiftime -v+3H example1.jpg will adjust each time forward by three hours and display: Image Created: 2003:09:12 20:05:37 Image Generated: 2003:09:12 20:05:37 Image Digitized: 2003:09:12 20:05:37 The command exiftime -v+5d -v-7M -fw -tg *.jpg will adjust the date ahead five days and the time back seven minutes and write the adjusted date and time to the Image Generated tag with- out a prompt for confirmation for all files that match "*.jpg". It displays: example1.jpg: Image Generated: 2003:09:12 17:05:37 -> 2003:09:17 16:58:37 example2.jpg: Image Generated: 2004:01:22 17:07:02 -> 2004:01:27 17:00:02 The command exiftime -l -tdg *.jpg will list all files that match "*.jpg", one per line, in ascending timestamp order. It'll attempt to use the following timestamp values, in order: Image Digitized, Image Generated, Image Created, and, finally, the OS's epoch. DIAGNOSTICS
The exiftime utility exits 0 on success and 1 if an error occurs. SEE ALSO
exiftags(1), exifcom(1) STANDARDS
The exiftime utility was developed using the 2003 draft Exif standard, version 2.21 (http://tsc.jeita.or.jp/). BUGS
Does not support the Exif tags SubsecTime, SubsecTimeOriginal, or SubsecTimeDigitized. Does not support manufacturer-specific date and time tags. AUTHOR
The exiftime utility and this man page were written by Eric M. Johnston <emj@postal.net>. The time adjustment functionality and documenta- tion were derived from portions of FreeBSD's date(1) command by Brian Somers <brian@Awfulhak.org>. EXIFTIME(1)
All times are GMT -4. The time now is 07:41 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy