How to pick only the latest files based on the timestamp?


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers How to pick only the latest files based on the timestamp?
# 8  
Old 04-25-2011
Try this latest one

This will fetch all file(s) created on today.


Code:
ls -lrt | awk '{print $6$7" "$9 }' | grep `date +%b""%d` | awk '{print $2}'

---------- Post updated at 03:47 AM ---------- Previous update was at 03:41 AM ----------

make sure that month is Initcap
Code:
mon='Apr'
dd='25'
ls -lrt | awk '{print $6$7" "$9 }' | grep $mon $dd | awk '{print $2}'


Last edited by Scott; 04-25-2011 at 07:01 AM..
# 9  
Old 04-25-2011
Quote:
Originally Posted by win4luv
But how do i make the date get generated dynamically...Since i want the latest files on a daily basis and avoid any manual intervention.
Using find will output filenames only for all files modified not only within the last 24 hours, but all files modified today and from the beginning (midnight) of yesterday.

No need to 'touch' a file at a certain timestamp.

Code:
find . -maxdepth 1 -mindepth 1 -type f -mtime -1 -daystart | sort

NOTE: tested on GNU find.
# 10  
Old 05-16-2011
Hi PalaniSVR, The code you provided is cool and serves my reqmt..But how do i get the result into a variable? please help
win4luv
# 11  
Old 05-16-2011
The problem with "find -mtime -1", even with -daystart, is that unless it starts on the first second each day, there can be gaps or duplications in the find. For precision, it is better to touch a marker file and find -newer $marker_file, using two markers as I described to bracket either N exact calendar days or one exact batch since last run.

Even then, a file being modified ongoing could be included in multiple days, in different versions, of course.
# 12  
Old 05-17-2011
I happened to schedule the script and somewhat it back fired. Instead of picking those files which created on a particular day, it picked almost all the files..Please let me know how to handle this..

---------- Post updated at 07:21 AM ---------- Previous update was at 12:40 AM ----------
Code:
ls -lrt | awk '{print $6$7" "$9 }' | grep `date +%b""%d` | awk '{print $2}'

fetches only files for a particular day, but i need to get whatever files it pulls into a variable and copy those files to a different location(path)...Please help

Last edited by Franklin52; 05-19-2011 at 01:40 PM.. Reason: Please use code tags
win4luv
# 13  
Old 05-17-2011
I usually grep for 'MMM DD ..:' if I go that way, to avoid picking up prior years. The touch/-newer method does not suffer from ls formatting challenges.

Maybe you need to use nawk not awk?
# 14  
Old 05-18-2011
Pickett, whatever are your ideas, can you pen them down...AM being a Novice here. Please let me know how do i take the result into a variable and copy the same over to an other location...below is what am expecting(i might be wrong but something in those lines)
Code:
new='ls -lrt | awk '{print $6$7" "$9 }' | grep `date +%b""%d` | awk '{print $2}''
echo $new
cp $new somelocation/path


Last edited by Franklin52; 05-19-2011 at 01:39 PM.. Reason: Please use code tags
win4luv
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Need help with UNIX command to get the latest file from list of files with timestamp

Hi All, I have list of files like below with name abcxyz.timestamp. I need a unix command to pick the latest file from the list of below files. Here in this case the lates file is abcxyz.20190304103200. I have used this unix command "ls abcxyz*|tail -1" but i heard that it is not the appropriate... (2 Replies)
Discussion started by: rakeshp
2 Replies

2. Shell Programming and Scripting

Picking the latest file based on a timestamp for a Dynamic file name

Hi , I did the initial search but could not find what I was expecting for. 15606Always_9999999997_20160418.xml 15606Always_9999999998_20160418.xml 15606Always_9999999999_20160418.xml 9819Always_99999999900_20160418.xml 9819Always_99999999911_20160418.xmlAbove is the list of files I... (4 Replies)
Discussion started by: chillblue
4 Replies

3. Shell Programming and Scripting

I have this list of files . Now I will have to pick the latest file based on some condition

3679 Jul 21 23:59 belk_rpo_error_**po9324892**_07212014.log 0 Jul 22 23:59 belk_rpo_error_**po9324892**_07222014.log 3679 Jul 23 23:59 belk_rpo_error_**po9324892**_07232014.log 22 Jul 22 06:30 belk_rpo_error_**po9324267**_07012014.log 0 Jul 20 05:50... (5 Replies)
Discussion started by: LoneRanger
5 Replies

4. UNIX for Dummies Questions & Answers

Sorting files based on timestamp and picking the latest file

Hi Friends, Newbie to shell scripting Currently i have used the below to sort data based on filenames and datestamp $ printf '%s\n' *.dat* | sort -t. -k3,4 filename_1.dat.20120430.Z filename_2.dat.20120430.Z filename_3.dat.20120430.Z filename_1.dat.20120501.Z filename_2.dat.20120501.Z... (12 Replies)
Discussion started by: robertbrown624
12 Replies

5. Shell Programming and Scripting

Urgent ...pls Sorting files based on timestamp and picking the latest file

Hi Friends, Newbie to shell scripting. Currently i have used the below to sort data based on filenames and datestamp $ printf '%s\n' *.dat* | sort -t. -k3,4 filename_1.dat.20120430.Z filename_2.dat.20120430.Z filename_3.dat.20120430.Z filename_1.dat.20120501.Z filename_2.dat.20120501.Z... (1 Reply)
Discussion started by: robertbrown624
1 Replies

6. Shell Programming and Scripting

sort the files based on timestamp and execute sorted files in order

Hi I have a requirement like below I need to sort the files based on the timestamp in the file name and run them in sorted order and then archive all the files which are one day old to temp directory My files looks like this PGABOLTXML1D_201108121235.xml... (1 Reply)
Discussion started by: saidutta123
1 Replies

7. UNIX for Dummies Questions & Answers

Need command to pick the latest file

Hi In my script i am trying to access mainframe server using FTP, in the server i have filee with the timestamp.I need to get the file with the latest timestamp among them . The server has the below files / ftp> cd /outbox 250 CWD command successful ftp> ls 200 PORT command successful... (4 Replies)
Discussion started by: laxmi131
4 Replies

8. Shell Programming and Scripting

Find the latest directory and loop through the files and pick the error messages

Hi, I am new to unix and shell scripting,can anybody help me in sctipting a requirement. my requirement is to get the latest directory the name of the directory will be like CSB.monthdate_time stamp like CSB.Sep29_11:16 and CSB.Oct01_16:21. i need to pick the latest directory. in the... (15 Replies)
Discussion started by: sudhir_83k
15 Replies

9. UNIX for Dummies Questions & Answers

pick the very latest directory

Hi, I have some list of directories in the form datemonthyear e.g. 02082009, 03082009 and 04082009 etc. I need to pick the latest directory from the current working directory. Outcome: 05082009 This is the output am expecting. Thanks (6 Replies)
Discussion started by: venkatesht
6 Replies

10. Shell Programming and Scripting

Pick the latest set of files

I have task in which I need to pickup a set of files from a directory depending on the following criteria: Every month 6 files are expected to arrive at /test. The files come with date timestamp and the latest file set for the month needs to be used Suppose this is the set of files that present... (5 Replies)
Discussion started by: w020637
5 Replies
Login or Register to Ask a Question