Visit Our UNIX and Linux User Community


Date Comparision in the File


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Date Comparision in the File
# 1  
Old 07-23-2009
Date Comparision in the File

Hi All,

I have thefollowing files in the directory inbox/sat

ras.sat.trn.20090103.001902.00004358
ras.sat.trn.20090612.001903.00005339
ras.sat.trn.20090723.001902.00004358

The above file contains the date of the file creation. We just need to write a ksh shell script to check the filedate against currentdate.If the file is less than 200 days old(from the current date),then we don't want to open/process the file, all we need is to move it to the different directory.

Can you kindly give me some ideas on how to achieve the solution.

thanks,
Satheesh
# 2  
Old 07-23-2009
Are these files modified after their creation or just created and left alone to be processed/moved later?
# 3  
Old 07-23-2009
Try this:
Code:
ls -1 inbox/sat/ras.sat.trn.* > files.txt

Code:
todate=$(date -d "100 day ago" +%Y%m%d)
while read str ; do
filedate=$(echo $str | cut -d. -f4)
if [[ $filedate < $todate ]] ; then
 echo "Dont move"  # for testing only
else
 echo "Move it"    # mv $str newdir
fi
done < files.txt        # inbox/sat/files.txt

# 4  
Old 07-24-2009
Hi,

The files are just created and left alone.



Thanks,
Satheesh

---------- Post updated at 10:16 PM ---------- Previous update was at 10:15 PM ----------

Hi,

When i try this it shows me an error


$ date -d "100 day ago" +%Y%m%d
date: illegal option -- d
Usage: date [-u] [+format]
date [-u] [mmddhhmm[[cc]yy]]
date [-a [-]sss.fff]



Thanks,
Satheesh
# 5  
Old 07-24-2009
How about:

Code:
find /your/directory -mtime +200 -exec mv {} /wherever/you/want \;

+200 for greater than and -200 for less than.
# 6  
Old 07-24-2009
Quote:
Originally Posted by satheesh_color
Hi,

The files are just created and left alone.



Thanks,
Satheesh

---------- Post updated at 10:16 PM ---------- Previous update was at 10:15 PM ----------

Hi,

When i try this it shows me an error


$ date -d "100 day ago" +%Y%m%d
date: illegal option -- d
Usage: date [-u] [+format]
date [-u] [mmddhhmm[[cc]yy]]
date [-a [-]sss.fff]



Thanks,
Satheesh
1. The files are just created and left alone.
--- That is because I am just echoing and not moving.
--- You will have to change that line to your requirement.

2. When i try this it shows me an error
--- Seems like you have version issues.
--- -d is not an option.
--- Type the following at the prompt and tell me what happens:
Code:
ksh
date -d "100 day ago" +%Y%m%d

Also, try
Code:
date --h


Previous Thread | Next Thread
Test Your Knowledge in Computers #641
Difficulty: Medium
NeXTSTEP had a Unix operating system based on the Minix kernel, plus source code from System V.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Date command comparision with a different format

I have a script called " passwd_status " which gives the passwd-s status of my servers. the script output is like below password status for A: abc ks 10/05/115 1 30 ps password status for B: abc ks 09/25/115 1 30 ps password status for C: abc ks 10/10/115 1 30 ps Now , i want to... (1 Reply)
Discussion started by: charanarjun
1 Replies

2. Shell Programming and Scripting

Date comparision in Unix

Hi All, I would need your help to compare dates in my script. Say if I have the dates in a file I need to comapre these dates with yesterday's date and the dates which are older than yesterday needs to be displayed. Example: 03/22/2012 03/24/2012 03/20/2012 03/21/2012 03/12/2012... (1 Reply)
Discussion started by: pdreddy34
1 Replies

3. Shell Programming and Scripting

File Comparision

Hi All, I want to write a script which will compare two files and tell me if the files are different. Actually my files will be same but order of lines will be different,so diff is not working. I have written a script to do this:- while read line; do cnt=`grep -i $line... (6 Replies)
Discussion started by: prasson_ibm
6 Replies

4. Shell Programming and Scripting

Date Manipulation and Comparision

Hi All, I want to generate quarter dates using awk or anything, by giving a dates as input for example : start_date=2010-01-01 end_date=2010-05-31 output should be: start_date end_date qtr 2010-01-01 2010-03-31 1 2010-04-01 2010-05-31 2 Example 2:... (1 Reply)
Discussion started by: sol_nov
1 Replies

5. Shell Programming and Scripting

Date - String comparision

Hi, I am having difficulty to compare a string in a file against a date from a a table and print the latest date. Below are the values. String in File : 2009-12-02 00:37:51 Value Table : 2010-01-10-02.00.49.294758 I have to compare both the values ( Ignore the Microsecond in the table... (5 Replies)
Discussion started by: sam_78_nyc
5 Replies

6. Programming

Problem with date comparision in Pro*C

Hi, I have written the following Pro*C program to get the difference between 2 dates.But when I am printing the value of the date difference,it is always showing 0. #include<stdio.h> #include<sqlca.h> #include<oraca.h> void main() { EXEC SQL BEGIN DECLARE SECTION; int diff; ... (4 Replies)
Discussion started by: sureshbabuc
4 Replies

7. Shell Programming and Scripting

problem in date comparision

#!/bin/ksh var="2009-08-31 12:39:05 UTC" ddate=`echo $var|cut -d' ' -f1` y1=`echo $ddate|cut -d'-' -f1` m1=`echo $ddate|cut -d'-' -f2` d1=`echo $ddate|cut -d'-' -f3` filedate=$y1$m1$d1 currdate="20070814" if ]; then echo "$LINE -> $filedate LOWER THAN $currdate" ... (0 Replies)
Discussion started by: HemaV
0 Replies

8. Shell Programming and Scripting

Problem with Date Comparision

Hi, I have a file which has the date in the last line in the example pasted along with the rates of the countries. -- I want to compare the date in the last line of the file mentioned in the example below with the system date from Monday to Friday. -- If system date is equal to the date... (2 Replies)
Discussion started by: Raji_gadam
2 Replies

9. Solaris

date comparision

I am wriitng a shell script to compare a date in `date +%Y%m%d%H%M` to the output of `cat /var/adm/messages.0 | grep Temp |grep "CPU Fans" | cut -f1-4,19 -d' '` which looks like Dec 2 11:30:57 79 Dec 2 11:37:58 79 Dec 2 11:44:58 79 Dec 2 11:50:59 79 Dec 2 11:58:00 79 Dec 2... (1 Reply)
Discussion started by: Hitesh Shah
1 Replies

10. UNIX for Dummies Questions & Answers

date comparision

Hello, I am trying to compare two dates which are in variables and i am not getting the correct result as expected. $first_date = '07/19/2007' $second_date='07/20/2007' Can you please suggest how to i check whether they are equal or not. if ($first_date -eq $second_date) condition is not... (3 Replies)
Discussion started by: kotasateesh
3 Replies

Featured Tech Videos