Moving Files within a particular date range


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Moving Files within a particular date range
# 1  
Old 03-16-2002
Question Moving Files within a particular date range

Hi,
Can someone please help me with this.

Actually i want to move files from one directory to another directory , But I just want to move files of a specific data range.

For ex:
This is my directory which contains all fine.
/home/Rooh
Then there is a long listing of files.
suppose this directory contains files from feb 01 , march01, april 01.
But I just want to move files of Feb 01 to another Directory for ex:
/home/abd/FILESFEB_01

How can I do this.
I have tried alot but somehow I am unable to get the output I want.
I have also tried with -mtime but doesn't give me the desired output.
Your Help will be highly appreciated.
Thanks.
ROOHSmilie
# 2  
Old 03-16-2002
use grep and for loop

Off the top of my head here is one longhanded way is to use grep.


Do a long listing of your directory that has files you want to move. Then determine the modify dates of those files. Now use grep here

Do:

ls -la |grep -e "Mar 1" -e "Mar 2" -e "Mar 3" > some.file

Now do a for loop to move them

for name in `cat some.file` # backtics here
do
mv $name /some/other/directory
done 2> /some/error.log # I always use an error log just in case


Of course you will possibly need to cleanup the "some.file" before running the for loop.

This is a crude way to do it but I think that it will work well.


Enjoy!
My Brain is your brain...

Smilie
# 3  
Old 03-18-2002
The following script should do the job if Feb01 file stands for files with mtime "Feb" (I mean, +20...today is 18th March 2002)

mv `find . -mtime +20` urfolder

Note: change the number in mtime as per your requirement...
# 4  
Old 03-18-2002
This will move files by month, and will only work if there is no white-space in the file's name.

ls -go |sed '/^d/ d' |awk '{ if ( $4 == "Feb" ) print $7 } |xargs -i mv {} /home/abd/FILESFEB_01/

Sometimes usernames can bleed over to group IDs in a long listing, which would mess up the awk statement. So use option g and o to remove the owner and group columns.

sed is there to remove the directories from the listing.

awk statement will check the month column to see if it's equal, in this case, to Feb. If it is, it'll print the file name (again, file names with white-space won't work).

Finally pass it to xargs. If you're not familiar with xargs, read up on it... very useful in the right situations.
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Find the count of files by last created date based on the given date range

My unix version is IBM AIX Version 6.1 I tried google my requirement and found the below answer, find . -newermt “2012-06-15 08:13" ! -newermt “2012-06-15 18:20" But newer command is not working in AIX version 6.1 unix I have given my requirement below: Input: atr files: ... (1 Reply)
Discussion started by: yuvaa27
1 Replies

2. Red Hat

Find Files within date Range

Hi i am looking to expand a command i am using to find files in a large file system. i am currently using find /raid/JOBFLOW_LOCKED/ -type f -size +3G | -exec mv {} /raid/JOBFLOW_LOCKED/KILL \; This works really well but i would like to add a date range to the same command to refine it... (6 Replies)
Discussion started by: treds
6 Replies

3. UNIX for Dummies Questions & Answers

Deleted files between date range

Dear Friends, I have HP_ux 11.31 and want to delete some unwanted very old log files between two date range. Please help in the matter. Regards, Bhagawati Pandey (6 Replies)
Discussion started by: BPANDEY
6 Replies

4. UNIX for Dummies Questions & Answers

Help with removing files with date range

Hi, I want to remove trace files in a particular directory for a specific date range. Currently i can remove based on time (e.g find /path/*.trm -mtime +1000 -exec rm {} \;). But i want to remove .trm files within a date range. E.g to remove .trm files between jan 1 2002 to April 15 2005. ... (3 Replies)
Discussion started by: dollypee
3 Replies

5. UNIX for Dummies Questions & Answers

Coping Files for a specific date range

Hi, we have file name appended by date in yymmdd format .. ex: abc090101.dat I need to copy all the files between abc090101 to abc090331.. could you plz help me.. Thanks. (1 Reply)
Discussion started by: kolariya4u
1 Replies

6. Shell Programming and Scripting

Search files between a date range

Hi people A newbie here, thrown into the deep end. I want to select the group of files with in a range of dates and perform some operation on it. Are there inbuild date libraries i can use? I did read thru the old posts on this topic. Couldnt get much idea :(, basically want to know how I... (7 Replies)
Discussion started by: zcanji
7 Replies

7. UNIX for Advanced & Expert Users

How can i copy files by date last modifed range?

When I do a ls -lt I get a list of files by date modified from newest to oldest. I would like to be able to copy some files to another directory using a date last modified range (i.e. Apr 30 - May 13) How could I do this? Thanks, Joe (4 Replies)
Discussion started by: geauxsaints
4 Replies

8. UNIX for Dummies Questions & Answers

How to display files that have been modifed between a given date range

Hi, I am new to Unix and was trying different ways of how to display the list of file names modified between a given date range in sorting order.I will get the fromdate and Todate from the browser, I need to display the list of all the file names that are modified between the given date... (1 Reply)
Discussion started by: prathima
1 Replies

9. Shell Programming and Scripting

Sorting Files by date and moving files in date order

I need to build a k shell script that will sort files in a directory where files appear like this "XXXX_2008021213.DAT. I need to sort by date in the filename and then move files by individual date to a working folder. concatenate the files in the working folder then start a process once... (2 Replies)
Discussion started by: rebel64
2 Replies

10. UNIX for Dummies Questions & Answers

cp only files in certain date range

hi all, I'm trying to do a cp only on files I created on a given day or within a certain date range. What's the best way to do this? Cheers, KL (1 Reply)
Discussion started by: ee7klt
1 Replies
Login or Register to Ask a Question