[Solved] Finding the latest file in a directory


 
Thread Tools Search this Thread
# 1  
[Solved] Finding the latest file in a directory

Hi All,

I am using the below command to find the latest file in a dir:
Code:
ls -tr $v_sftphomedir/$v_sourcefile |tail -1

or
Code:
ls -t1 $v_sftphomedir/$v_sourcefile |head -1

and the outpur returned is below:
Code:
/home/cobr_sftp/var/controllingload/Backup/Dbrwds_Div_1796050246.txt

I need only the filename(Dbrwds_Div_1796050246.txt) and not path. Who do i fetch only the filename from it?

Please help

Moderator's Comments:
Mod Comment Video tutorial on how to use code tags in The UNIX and Linux Forums.

Last edited by abhi_123; 11-15-2012 at 07:50 AM..
# 2  
Hi abhi_123,

Use sed. Add it at the end of the pipe chain:
Code:
... | sed -e 's|^.*/||'

# 3  
What OS are you using since your output is not what I would expect?
IMHO using ls without -l should not give the absolute path...
# 4  
A simpler ways include:
Code:
basename "$v_sourcefile"

and when using POSIX compliant shells
Code:
${v_sourcefile##*/}

---------- Post updated at 08:08 ---------- Previous update was at 07:58 ----------

Quote:
Originally Posted by vbe
What OS are you using since your output is not what I would expect?
IMHO using ls without -l should not give the absolute path...
If $v_sftphomedir/$v_sourcefile names a regular file (not a directory), then ls (no matter what options are given) will definitely print the full pathname of the file. If $v_sourcefile is named appropriately, it should name a single file; not a directory. Note that in this case the |tail -1 and |head -1, respectively, in the code examples given in the 1st message in this thread were no-ops.
This User Gave Thanks to Don Cragun For This Post:
# 5  
Quote:
If $v_sftphomedir/$v_sourcefile names a regular file (not a directory)
Exact but the title was:
Quote:
Finding the latest file in a directory
and if it were a file then the -t is useless...Smilie
# 6  
thanks it worked

thanks all it worked. Smilie
 

Previous Thread | Next Thread
Thread Tools Search this Thread
Search this Thread:
Advanced Search

Test Your Knowledge in Science: Gadgets
Difficulty: Medium
The Western Electric Model 500 telephone uses tone dialing to dial phone numbers.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Finding latest file in dir but getting syntax errors

I believe there are couple of syntax issues in my script, couldn't find them :( can someone help me with fixing it to make it work. cd /abcde/ #get the latest filename excluding subdirs filename=`ls -ltr | grep ^- | tail -1 | awk '{print $8}'` #get system date and file timestamp and... (3 Replies)
Discussion started by: simpltyansh
3 Replies

2. 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

3. Shell Programming and Scripting

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... (6 Replies)
Discussion started by: co21ss
6 Replies

4. 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

5. Shell Programming and Scripting

Move the latest or older File from one directory to another Directory

I Need help for one requirement, I want to move the latest/Older file in the folder to another file. File have the datetimestamp in postfix. Example: Source Directory : \a destination Directory : \a\b File1 : xy_MMDDYYYYHHMM.txt (xy_032120101456.txt) File2: xy_MMDDYYYYHHMM.txt... (1 Reply)
Discussion started by: pp_ayyanar
1 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

Copy the latest file to a directory

Hi Team, I wish to copy the latest file of pattern "MyFile*" to some other location. I need to do all the operation in a single command separated by |. ls -rt <MyFile*> | tail -1 | <copy command>. How can I do? Please help me. Thanks, Kanda (2 Replies)
Discussion started by: spkandy
2 Replies

8. Shell Programming and Scripting

Copy the latest file from one directory to another

Hi All, I am in the directory a/b/processed the files in this directories are -rw-r--r-- 1 owb users 330 Aug 8 chandantest.txt_08082008 -rw-r--r-- 1 owb users 220 Aug 7 chandantest.txt_07082008 -rw-r--r-- 1 owb users 330 Aug 6... (3 Replies)
Discussion started by: chandancsc
3 Replies

9. Shell Programming and Scripting

finding latest file having timestamp on it.....

Hi guys, I have a directory in UNIX having files with the below format, i need to pickup the latest file having recent timestamp embedded on it, then need to rename it to a standard file name. Below is the file format: filename_yyyymmdd.csv, i need to pick the latest and move it with the... (1 Reply)
Discussion started by: kaushik25
1 Replies

10. UNIX for Dummies Questions & Answers

finding latest file in Unix

Hi, i want to search a file in the dir , if file exists for todays date print the message that file found or if file does not exist for todays date/ if file not found i want to display message saying that file not found. How to do this. Thx for your help. (2 Replies)
Discussion started by: nick12
2 Replies

Featured Tech Videos