Help with finding the latest modified version of a file within directories


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Help with finding the latest modified version of a file within directories
# 1  
Old 12-13-2012
Question Help with finding the latest modified version of a file within directories

I am trying to look into multiple directories and pluck out the latest version of a specific file, regardless of where it sits within the directory structure.

Ex:

The file is a .xls file and could have a depth within the directory of anywhere from 1-5

Working directory - Folder1
Similar .xls files may be in Folder1/x1/x2/x3 and also Folder1/y1/y2, but I want to output only the latest modified .xls file to pipe into a cp command for use in a shell script.

I am using csh (I know, I know!) and any help in doing this would be appreciated.

I've tried using forms of find.-type f -name "*.xls" , but am not sure how to only take the latest from that listing of all the .xls files within the directory tree.

Thanks!
# 2  
Old 12-13-2012
have you tried
Code:
ls -alt

# 3  
Old 12-13-2012
You don't give -l to ls when you want to automate it. Why bother getting username, file permissions, modified date and all that when all you're doing to do is throw it away?

You can use ls to sort the files by date with -t, then just grab the first.

Code:
find . -type f -name "*.xls" -exec ls -t '{}' '+' | head -n 1

This User Gave Thanks to Corona688 For This Post:
# 4  
Old 12-13-2012
Corona,
This works out very nicely to only output the last modified version of the .xls file.

However, I am open to any other more efficient methods, as this does take some time to search through 400+ subdirectories.

Thanks!

Quote:
Originally Posted by Corona688
You don't give -l to ls when you want to automate it. Why bother getting username, file permissions, modified date and all that when all you're doing to do is throw it away?

You can use ls to sort the files by date with -t, then just grab the first.

Code:
find . -type f -name "*.xls" -exec ls -t '{}' '+' | head -n 1

# 5  
Old 12-13-2012
To narrow down the search, you'll need to narrow down the search.

If it really could be anywhere at all within those 400 folders, you'll have to check them all.

If not, please specify where you do and don't need to look.
# 6  
Old 12-13-2012
Unfortunately the latest checklist file (.xls) could be in any of the 400 folders, so I will need to search them all. Sadly the script will need to loop through this routine for a small sampling from an input array, but is much better than having to manually hunt down a checklist file and compare against others.

Thanks for your help!
# 7  
Old 12-13-2012
Disk cache should make finding the second and third files easier after you've searched once. The directory entries will be in memory and not need to be read from disk again.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

To find the latest modified file in a directory

I am trying to fetch the latest modified file from a directory using the command find . -type f -exec ls -lt \{\} \+ | head | awk '{print $9}' After the O/P, I get the below mentioned error and the command doesnt terminate at all. find: ls terminated by signal 13 find: ls terminated by... (2 Replies)
Discussion started by: Sree10
2 Replies

2. Shell Programming and Scripting

to pick the latest file modified in a directory

I wan to pick the latest modified file name and redirect it to a file .. ls -tr | tail -1 >file but this is printing file ins side the filename , can anyone help me out (5 Replies)
Discussion started by: vishwakar
5 Replies

3. Shell Programming and Scripting

Finding the Latest file in a Dir

Hi Everyone, I am writing a shell script and I am struck here: I need to find the latest file in a directory depending upon the date. For example: The files in the directory are: Filename_bo_20110619 Filename_bo_20110620 Filename_bo_20110621 Filename_bo_20110622 So here, I want... (2 Replies)
Discussion started by: filter
2 Replies

4. UNIX for Advanced & Expert Users

Finding the modified date time of a file

Hi, I am new bie to Unix. Might be a simple question I am asking. I want to find the last modified time of a file and find the difference between the currrent time and the last modified time. Appreciate, if someone can throw some light on what commands can be used. Cheers, James (2 Replies)
Discussion started by: JamesJoe
2 Replies

5. Shell Programming and Scripting

Finding the list of users who modified a file

Dear all, Need a quick help/suggestion on monitoring a particular directory . We have a deployment directory say (/users/integration/deploy ) under this there are several files which can be edited by a number of users - We need to write a script which will check this deployment directory... (5 Replies)
Discussion started by: jambesh
5 Replies

6. UNIX for Dummies Questions & Answers

How to get the latest modified file name in /home directory?

I only know how to list all sub-directories or files in specified directory. I don't know how to order them by modified date, furthermore, I don't know how to get the top one file in the sorted list. Wish you can do me a favor. Thanks in advance! (3 Replies)
Discussion started by: crest.boy
3 Replies

7. Shell Programming and Scripting

How to find the latest modified file from the unix server.

hi Friends, In my directory i have some files. I need to find out latest modified file. Please help me. Sreenu. (2 Replies)
Discussion started by: sreenu80
2 Replies

8. Shell Programming and Scripting

finding the file which is modified within last 2 hours

hi, I want to find a file which is modified within last 2 hours i am using sun-os i tried find . -name <filename> -mmin 120 i found that mmin option is not supported in sun-os is there any other alternative option suggestions welcome thanks in advance (5 Replies)
Discussion started by: trichyselva
5 Replies

9. Shell Programming and Scripting

Last modified file in 2 or more directories

Hi, Is there any simple way to get the last modified file in a set of 2 or more directories? This should return one file only (not 1 file per directory) Thanks for your help (4 Replies)
Discussion started by: m69w
4 Replies

10. Shell Programming and Scripting

Latest version of a file across the servers ..

:o How do I confirm that the script on one server is latest compare to other servers? Is there any script which can tell me the latest version of a file across the servers? Thanks, (2 Replies)
Discussion started by: Sandy
2 Replies
Login or Register to Ask a Question