Find the files based on date from filelist


 
Thread Tools Search this Thread
Top Forums UNIX for Beginners Questions & Answers Find the files based on date from filelist
# 1  
Old 09-26-2019
Find the files based on date from filelist

Hi All,
I have a filelist which contains the "ls" output, i want to extract the filenames written in this files based on date. I know i can run loop and extract the file but i want to avoid it. also there is find command which can be used on directory i.e.
Code:
find . -type f -newermt "2019-09-25" -printf "%f\n"

But is there any way i can use find on Filelist instead of directory and get the file name. TIA
# 2  
Old 09-26-2019
The content of the file list, i.e., filenames, has no associated filesystem metadata for any of the files named in your text file. You would have use the stat command on each one of the filenames in the text file.
And you will have to use epoch times ( seconds since Jan 1 1970).
Code:
when=1569540363
while read filename
do
  [ $(stat --format=%Y filename) -gt $when  ] && echo $filename
done < textfile

It is easier with a reference file that has been set to a specified mtime file with the touch command, shell does file time comparisons ( -ot, -nt ):
Code:
[ $file -nt $reference_filename ] && echo $filename

Can you create the text file list first with both a filename and a filetime (in epoch seconds) for each line in the text file? And then read that?
# 3  
Old 09-27-2019
Thanks for the valuable inputs, my actual requirement was to FTP the files from remote server based on date for eg: If i am running my script today then i will save today's date in date_file, so when i run script next time the files will be FTPed which are greater than the date mentioned in my date_file.

I know there are limitations on FTP and i cannot do this approach directly so as a work around i thought i will list all file names present in FTP server to a local file and then out of that local file i will find files which are required and do the FTP and use mget(greater than date mentioned in date_file). I will try your suggestion.

*Is there any way i can send date information to FTP server and get only those files greater or equal to that date.
# 4  
Old 09-27-2019
As i couldnt find the approach to get the file based on date directly from FTP server, i will get all the file names on my local and create filelist and then extract the file names greater than the particular date,

Code:
Date="20190926"
Filelist=FTP_DTL.txt

awk -v cutoff="$(date -d "$Date" +%s)" '{line=$0; "date -d \""$6" " $7" " $8 "\" +%s" |getline; fdate=$1} fdate > cutoff {print line} ' FTP_DTL.txt | awk -F ' ' '{print $9}' > Latest_File.txt

Above command will give me file names which are greater or equal to the date variable, and store in Latest_File.txt. Then will run the for loop on the Latest_File.txt and get those relevant files from FTP server. I cannot think of anything and not sure about the performance about this. Kindly share the views on this, or any other approach.

Thank You
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Find and copy .zip file based on today's date

Hi Team, I'm new to unix and i have a requirement to copy or move files from one directory to another based on current date mentioned in the .zip file name. Note that i need to copy only the recent zip file. please help me with the code i tried the code as: #! /usr/bin/sh find... (3 Replies)
Discussion started by: midhun3108
3 Replies

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

3. Shell Programming and Scripting

Find fields based on date criterion

Hi All , I am trying to find some non empty files from a directory based on below conditions : Files:: SIZE DATE FILE 3679 Jan 25 23:59 belk_rpo_error_po9324892_01252014.log 0 Jul 01 06:30 belk_rpo_error_po9324267_07012014.log 0 Jul 20 05:50... (7 Replies)
Discussion started by: LoneRanger
7 Replies

4. UNIX for Dummies Questions & Answers

Unable to find files, those can be present anywhere in the directory tree,based on its creation date

Hi I am unable to find files, those are present anywhere in the same directory tree, based on the creation date. I need to find the files with their path, as I need to create them in another location and move them. I need some help with a script that may do the job. Please help (2 Replies)
Discussion started by: sam192837465
2 Replies

5. UNIX for Dummies Questions & Answers

Looking for command line to find dirs based on size and date

Hi, My first time on this site, please excuse me if I've come to the wrong forum. I'm fairly new to Unix/Linux and hoping you can help me out. I'm looking for a command line that will return a list of directories that are larger than 50M and older than 2 days. I thought it may be... (6 Replies)
Discussion started by: Wisconsingal
6 Replies

6. Shell Programming and Scripting

Find the latest file based on the date in the filename

Hi, We've a list of files that gets created on a weekly basis and it has got a date and time embedded to it. Below are the examples. I want to find out how to get the latest files get the date and time stamp out of it. Files are PQR123.PLL.M989898.201308012254.gpg... (1 Reply)
Discussion started by: rudoraj
1 Replies

7. Shell Programming and Scripting

Find and count unique date values in a file based on position

Hello, I need some sort of way to extract every date contained in a file, and count how many of those dates there are. Here are the specifics: The date format I'm looking for is mm/dd/yyyy I only need to look after line 45 in the file (that's where the data begins) The columns of... (2 Replies)
Discussion started by: ronan1219
2 Replies

8. Shell Programming and Scripting

move files defined in filelist

Hi, I have a filelist named filestomove.txt. It can contain any number of files that need to be moved to a subdirectory. All the files from filelist are in the same directory as the filelist, let say it's called Folder1. All the files need to be moved to subfolder Folder1/Subfolder1. ... (1 Reply)
Discussion started by: kedrick
1 Replies

9. Shell Programming and Scripting

Find and copy files based on todays date and search for a particular string

Hi All, I am new to shell srcipting. Problem : I need to write a script which copy the log files from /prod/logs directory based on todays date like (Jul 17) and place it to /home/hzjnr0 directory and then search the copied logfiles for the string "@ending successfully on Thu Jul 17". If... (2 Replies)
Discussion started by: mail.chiranjit
2 Replies

10. UNIX for Dummies Questions & Answers

Help on cat filelist.txt |xargs -n1 find

I am trying to find all the files listed in a filelist.txt. Why cant I use something like this cat filelist.txt | xargs -n1 find $path (2 Replies)
Discussion started by: dragonpoint
2 Replies
Login or Register to Ask a Question