Sponsored Content
Top Forums UNIX for Dummies Questions & Answers files between any two given dates Post 302126311 by Epiphone on Wednesday 11th of July 2007 05:40:19 AM
Old 07-11-2007
So I'm using the tmpfile solution as already discussed in this thread. But What I'm currently doing is using 2 Find commands, 1 which finds everything with mtime in between the 2 temp files and the 2nd to find the files by the name I want.

But sometimes I get duplicate entries, cos sometimes files exist which have the mtime and file name I'm looking for. So I have to not select them. Then I combine the results from both finds and display the result.

But I cant figure out how to do this with 1 find

Code:
@results = `find . -type f  -newer ./tmpoldfile ! -newer ./tmpnewfile`;

@results2 = `find . \\( -name *$h$i$b$c* -o -name *$h2$i2$b2$c2* \\)`;

My attempt at combining the 2, but I need to a not and expression, does that exist?
#@results3 = `find . -type f \\( \\( -newer ./tmpoldfile ! -newer ./tmpnewfile \\) -a \\( -name *$h$i$b$c* -o -name *$h2$i2$b2$c2* \\) \\) -ls`;



foreach $name (@results)
{

        if ($name =~ m/(^.*)([0-9][0-9])([0-9][0-9])([0-9][0-9])_([0-9][0-9])([0-9][0-9])([0-9][0-9])(.*$)/)

        {
                        $creation_date = "20$2/$3/$4";
                        $creation_time = "$5:$6:$7";
        }

        if ("$creation_date $creation_time" ge "$date $time" && "$creation_date $creation_time" le "$date2 $time2") {


        } else {
                push(@logfile, $name);
 }

}

        foreach $name (@results2)

 {
                if ($name =~ m/(^.*)([0-9][0-9])([0-9][0-9])([0-9][0-9])_([0-9][0-9])([0-9][0-9])([0-9][0-9])(.*$)/)

                {
                        $creation_date = "20$2/$3/$4";
                        $creation_time = "$5:$6:$7";
                }

        if ("$creation_date $creation_time" ge "$date $time" && "$creation_date $creation_time" le "$date2 $time2") {

                push(@logfile, $name);

        } else {


        }

Then I print and work with the results.

 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Remove files by dates

I've tried every way possible to remove files by date and nothing seems to work. Does anyone have an idea how to remove files by dates? Thanks in advance.... (1 Reply)
Discussion started by: dman110168
1 Replies

2. UNIX for Dummies Questions & Answers

Files and dates

Hello all. I am trying to do a file listing on a particular directory by date. I need to list the files and their directories that have a timestamp between Dec-1-2006 and Jan-1-2007. Any help would be greatly appreciated. (1 Reply)
Discussion started by: mastachef
1 Replies

3. Shell Programming and Scripting

Getting list of all the log files between two dates

I need to get the list of all the log files for a particular duration, say between two dates,i.e I need to get the list of all the log files between date1 and date2.The two dates are entered by the user. The format of the log file is : /path_name/graph_name_20080801180308.log. I dont... (1 Reply)
Discussion started by: avishekp
1 Replies

4. Shell Programming and Scripting

Need script to generate all the dates in DDMMYY format between 2 dates

Hello friends, I am looking for a script or method that can display all the dates between any 2 given dates. Input: Date 1 290109 Date 2 010209 Output: 300109 310109 Please help me. Thanks. :):confused: (2 Replies)
Discussion started by: frozensmilz
2 Replies

5. AIX

Copy files for particular dates

Hi, I need to copy particular date files from one directory to another. For example, I have thousands of files in /home/usr From this I need to copy only particular date files (each date contains thousand number of files) to some directory of another server. Could anyone please help me... (3 Replies)
Discussion started by: teddy2882
3 Replies

6. UNIX for Advanced & Expert Users

Find all files other than first two files dates & last file date for month

Hi All, I need to find all files other than first two files dates & last file date for month and month/year wise list. lets say there are following files in directory Mar 19 2012 c.txt Mar 19 2012 cc.txt Mar 21 2012 d.txt Mar 22 2012 f.txt Mar 24 2012 h.txt Mar 25 2012 w.txt Feb 12... (16 Replies)
Discussion started by: Makarand Dodmis
16 Replies

7. Shell Programming and Scripting

Files between two dates in UNIX

Hi Team, I need to connect to a prod server and need to get the files which falls between two dates. I should not create ant files on that machine. I am using korn shell. Your help is very much appreciated. Vinay (13 Replies)
Discussion started by: gvkumar25
13 Replies

8. Shell Programming and Scripting

Deleting the files between particular dates

Hi Please help me for the below task. In my home directory if I run ls -l command, it lists all the files, here I want to delete files created from January 2014 to Aug 2014...but I need to keep the files which are created after September 01 2014. Thanks Siva (3 Replies)
Discussion started by: kumar85shiv
3 Replies

9. Shell Programming and Scripting

Moving files into dirs corresponding to dates

I am trying to find a way to move files into corresponding date files. i=0 while read line do array="$line" (( i++ )) done < <(ls) cd $(echo ${array}) echo ${array}} pwd #cd "$(array}" ] || mkdir 2015 cd "2015" ] || mkdir 02-February ] || mkdir 03-March ] || mkdir... (10 Replies)
Discussion started by: newbie2010
10 Replies

10. UNIX for Dummies Questions & Answers

Need to Move files of different dates

Hi, Currently I'm moving the files based on date like below. "mv *20150901* backup_folder" - Limitation: can move only 1 day files to backup folder. I want to move the files of different dates like 20150901,02, 03, 04..... Is there any single command to do it. Thanks in advance!! (2 Replies)
Discussion started by: prakashs1218
2 Replies
Wanted(3pm)						User Contributed Perl Documentation					       Wanted(3pm)

NAME
File::Find::Wanted - More obvious wrapper around File::Find VERSION
Version 1.00 SYNOPSIS
File::Find is a great module, except that it doesn't actually find anything. Its "find()" function walks a directory tree and calls a callback function. Unfortunately, the callback function is deceptively called "wanted", which implies that it should return a boolean saying whether you want the file. That's not how it works. Most of the time you call "find()", you just want to build a list of files. There are other modules that do this for you, most notably Richard Clamp's great File::Find::Rule, but in many cases, it's overkill, and you need to learn a new syntax. With the "find_wanted" function, you supply a callback sub and a list of starting directories, but the sub actually should return a boolean saying whether you want the file in your list or not. To get a list of all files ending in .jpg: my @files = find_wanted( sub { -f && /.jpg$/ }, $dir ); For a list of all directories that are not CVS or .svn: my @files = find_wanted( sub { -d && !/^(CVS|.svn)$/ }, $dir ) ); It's easy, direct, and simple. WHY DO THIS
? The cynical may say "that's just the same as doing this": my @files; find( sub { push @files, $File::Find::name if -f && /.jpg$/ }, $dir ); Sure it is, but File::Find::Wanted makes it more obvious, and saves a line of code. That's worth it to me. I'd like it if find_wanted() made its way into the File::Find distro, but for now, this will do. FUNCTIONS
find_wanted( &wanted, @directories ) Descends through @directories, calling the wanted function as it finds each file. The function returns a list of all the files and directories for which the wanted function returned a true value. This is just a wrapper around "File::Find::find()". See File::Find for details on how to modify its behavior. COPYRIGHT &; LICENSE Copyright 2005-2012 Andy Lester. This program is free software; you can redistribute it and/or modify it under the terms of the Artistic License v2.0. perl v5.14.2 2012-06-08 Wanted(3pm)
All times are GMT -4. The time now is 01:09 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy