find command


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting find command
# 15  
Old 09-05-2006
followup

Hi everyone that contributed to my problems :-)

This is the part of the script:
Code:
#!/bin/ksh

BIN=/interface/gunner

cd $BIN
sysMon=`date +%m`
sysDay=`date +%d`
sysYear=`date +%Y`
begDate='0001'
endDate='2359'
X=`./datecalc.sh -a $sysYear $sysMon $sysDay - 53`
Y=`echo $X$begDate|sed 's/ //g'`
Z=`echo $X$endDate|sed 's/ //g'`
touch -t $Y t1
touch -t $Z t2


find ./ -newer t1 \! -newer t2

I have the begdate and enddate so that I will be able to touch with 0001 and 2359.
However, the find command still return files outside a particular date. For example the above script should return only files created on the 14th of July.

find ./ -newer t1 \! -newer t2 still return some files created on 15th and sometimes it doesnt even return all the files created on 14th.

Thanks

Last edited by kayarsenal; 09-05-2006 at 12:07 PM..
# 16  
Old 09-05-2006
Hint :-

You can run find command with mtime option in 00:00 clock to calculate time correctly without any effort.

am try this hint & the result very good.

Try and confirm.
# 17  
Old 09-05-2006
Have you checked with -53 value on datecalc
X=`./datecalc.sh -a $sysYear $sysMon $sysDay - 53`
please echo it and check it what out put you are getting from the above command substitution.
# 18  
Old 09-05-2006
followup

I did. The echo outputs 2006 07 14 which looks fine. Now I intend to list only files created on this date.No more. In order to touch, I appened 0001 and 2359 to this. But when I use find newer command, I still get some wrong outputs.
Im thinking of using a cron job to run at 00:00 and for example

Code:
find ./ -mtime +55 \! -mtime +56

To find the files older than 55 days but not older than 56days.

I want your idea to work though.
# 19  
Old 09-05-2006
few old vesions of find command have trouble with using multiple -newer expressions in one command. If find doesn't find files that it should, try using multiple explicit -mtime expressions instead. They're not as precise, but they will work even on finds with buggy -newer handling.
This is universally known problem of find.
# 20  
Old 09-05-2006
Quote:
Originally Posted by kayarsenal
Hi All,
I have a problem with using the find command.In my file structure,I need to find files that are exactly 14days old to execute an archive script.I used the "find . -mtime 14" command which displays 14day old files.The problem,however,is I get files that are more than 14days .For example today is Sep 4th,14day old files should be files on August 21st.I sometimes get files that are also on August 20th.How do I solve this issue?I need only 14day old files..NO MORE.

Thanks
PS: Find -mtime n apparently displays files that are n*24hours old.
I have a solution, but not using find or bash. I am using Python and the time,datetime modules
Code:
#!/usr/bin/python
import os,sys,time,datetime
today = datetime.date.today() 
delta = datetime.timedelta(days=14)
diff = today-delta
day,mth,yr = diff.day, diff.month, diff.year
for root,dir,files in os.walk("/home/user"):
        for fi in files:
                t = os.stat( os.path.join(root,fi) ).st_mtime
                y,m,d = time.localtime(t)[0:3]
                if yr == y and mth == m and day == d:
                        print "Found " , os.path.join(root,fi)

when run, it should give you exactly files that are 14 days old, no more.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Solaris

Is it possible to find the seek rate of the find command in Solaris?

Hello, I am running some performance based tests on Solaris, and I was wondering how fast the "seeking" rate of Solaris is, or how fast Solaris can get information about files with the "find" command. Does anyone know what 'find' command I could run to traverse through my system to see the rate... (1 Reply)
Discussion started by: bstring
1 Replies

2. Shell Programming and Scripting

Find multiple string in one file using find command

Hi, I want find multiple string in one file using find coomand. And keeping it in one variable.grep is not working. (5 Replies)
Discussion started by: vivek1489
5 Replies

3. Shell Programming and Scripting

How to use grep & find command to find references to a particular file

Hi all , I'm new to unix I have a checked project , there exists a file called xxx.config . now my task is to find all the files in the checked out project which references to this xxx.config file. how do i use grep or find command . (2 Replies)
Discussion started by: Gangam
2 Replies

4. Shell Programming and Scripting

Find, regular expression, anyway to simplify this find command?

Hello everyone, first post here, trying to learn scripting on my own and this forum as been really helpful so far. I made few little scripts working great but I m facing some problems with RE. I have a bunch of files in many subdirectories called *001.ext *002.ext OR simple *.ext or *01.ext... (7 Replies)
Discussion started by: Sekullos
7 Replies

5. Shell Programming and Scripting

what is the find command to find exact dir from the root

I want to find a dir called STOP from the root.so what is the find command. Thanks & Regards Rajkumar (1 Reply)
Discussion started by: rajkumar_g
1 Replies

6. Linux

Simplified find command to find multiple file types

Hi, I'm using the following command to find the multiple requierd file types and its working fine find . -name "*.pl" -o -name "*.pm" -o -name "*.sql" -o -name "*.so" -o -name "*.sh" -o -name "*.java" -o -name "*.class" -o -name "*.jar" -o -name "*.gz" -o -name "*.Z" -type f Though... (2 Replies)
Discussion started by: vickramshetty
2 Replies

7. Shell Programming and Scripting

find: No match due to find command being argument

I am using csh and getting the error "find: No match." but I cannot figure out why. What I am trying to do is set the find command to a variable and then execute the variable as a command. I ran it through a debugger and it looks like $FIND is getting set but the find command can not actually be... (2 Replies)
Discussion started by: mst3k4l
2 Replies

8. UNIX for Dummies Questions & Answers

how to find a file named vijay in a directory using find command

I need to find whether there is a file named vijay is there or not in folder named "opt" .I tried "ls *|grep vijay" but it showed permission problem. so i need to use find command (6 Replies)
Discussion started by: amirthraj_12
6 Replies

9. Shell Programming and Scripting

Little bit weired : Find files in UNIX w/o using find or where command

Yes , I have to find a file in unix without using any find or where commands.Any pointers for the same would be very helpful as i am beginner in shell scritping and need a solution for the same. Thanks in advance. Regards Jatin Jain (10 Replies)
Discussion started by: jatin.jain
10 Replies

10. Shell Programming and Scripting

command find returned bash: /usr/bin/find: Argument list too long

Hello, I create a file touch 1201093003 fichcomp and inside a repertory (which hava a lot of files) I want to list all files created before this file : find *.* \! -maxdepth 1 - newer fichcomp but this command returned bash: /usr/bin/find: Argument list too long but i make a filter all... (1 Reply)
Discussion started by: yacsil
1 Replies
Login or Register to Ask a Question