Delete all but newest of given file name type


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Delete all but newest of given file name type
# 1  
Old 08-20-2018
Delete all but newest of given file name type

I use this to make it easier to see when a backup script ran.
Code:
touch /media/andy/MAXTOR_SDB1/Ubuntu_Mate_18.04/$( date '+%m-%d-%Y_%I:%M-%p' )

I would like a script that would delete all but the newest file ONLY of this type 08-20-2018_01:24-PM
# 2  
Old 08-20-2018
How would you apply what you learned in your last week's thread ?
# 3  
Old 08-20-2018
I got it.

Code:
ls -1r /media/andy/MAXTOR_SDB1/Ubuntu_Mate_18.04/08-20-2018_* | 
# skip (leave) the 5 newest
tail -n +3 |
# show (delete) the 3 oldest
tail -n -3 |
while IFS= read -r file
do
  rm "$file"
done   
exit 0


Last edited by drew77; 08-20-2018 at 05:25 PM..
# 4  
Old 08-21-2018
Quote:
Originally Posted by drew77
I got it.

Code:
ls -1r /media/andy/MAXTOR_SDB1/Ubuntu_Mate_18.04/08-20-2018_* | 
# skip (leave) the 5 newest
tail -n +3 |
# show (delete) the 3 oldest
tail -n -3 |
while IFS= read -r file
do
  rm "$file"
done   
exit 0

If you want to skip the 5 newest files, don't you want:
Code:
tail -n +5

instead of:
Code:
tail -n +3

?
# 5  
Old 08-21-2018
You are right. I found a problem with it though.

It will only work with files created in August.

This will work on any file date.

Code:
TARGET_DIR='/media/andy/MAXTOR_SDB1/Ubuntu_Mate_18.04/'
REGEX='[0-9]{4}-[0-9]{2}-[0-9]{2}_[0-9]{2}:[0-9]{2}'   # regular expression that match to: date '+%Y-%m-%d_%H:%M'
LATEST_FILE="$(ls "$TARGET_DIR" | egrep "^${REGEX}$" | tail -1)"
find "$TARGET_DIR" ! -name "$LATEST_FILE" -type f -regextype egrep -regex ".*/${REGEX}$" -exec rm -f {} +

I went back to year month day format. I was told it was easier to parse.

Thanks for you help.
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Delete all but 3 newest files

This is related to my post on backup up files. I really appreciate all the help too. :-) I would like to delete all but the 3 newest files in my backup directory. /media/andy/MAXTOR_SDB1/Ubuntu_Mate_18.04/ For example Ubuntu_Documents.zip_09Aug2018_12_00... (2 Replies)
Discussion started by: drew77
2 Replies

2. Shell Programming and Scripting

Find file by filename or with newest modified date

Hi, I have a directory that has numerous files in it, and there is two which are named "filerec_ddmmyyHH24MMSS" by the time they are created so "filerec_010615012250" was created at 01:22:50 on 1st June 2015. I need to find the most recently created of those 2 files and get the contents of... (4 Replies)
Discussion started by: finn
4 Replies

3. Shell Programming and Scripting

Delete files of the same type if there are more than 3

hi, I would like to delete files in a folder starting with letters ab and fe and so on. It should only delete if there are more than 3 files of that type in that folder. Please suggest me how to write a script. i am new to this scripting. (4 Replies)
Discussion started by: Sneddy
4 Replies

4. UNIX for Dummies Questions & Answers

[Solved] Find the newest file in two directories

Hi i have two directories and files inside them Directory 1: Directory 2: These files are the same but song.mp3 in Directory 1 is newer than song.mp3 in Directory 2, and work.txt in Directory 2 is newer than work.txt in Directory 1. Now is my question. How i can compare these files... (10 Replies)
Discussion started by: Falstaff
10 Replies

5. Shell Programming and Scripting

Grabbing the newest file, cleaner method?

Greetings, I'm doing a process whereby I need to search for all filenames containing a given bit of text and grab the newest file from what may be 20 results. In a script I'm writing, i've got a monster line to do the sort as follows: find /opt/work/reports/input -name "*$searchtarget*" |... (4 Replies)
Discussion started by: Karunamon
4 Replies

6. Shell Programming and Scripting

Script to check for the newest file mutiple times a day and SCP it to another server.

Hi, I need a sample of a script that will check a specific directory multiple times throughout the day, and scp the newest file to another server. Example: current file is misc_file.txt_02272011 (the last part is the date), once that has been secure copied, another one may come in later the... (1 Reply)
Discussion started by: richasmi
1 Replies

7. Shell Programming and Scripting

Mail file size of newest file in directory

I have been a long time lurker, and have learned a lot from these forums, thank you to everyone. I am using Zoneminder to record a security camera feed. No motion detection, just 24 hour recording. I then have a script that checks Mysql for events dated the day before, and throws them at... (4 Replies)
Discussion started by: iamVERYhungry
4 Replies

8. Shell Programming and Scripting

Get the newest file in a directory.

I am new to shell scripting so i need some help need how to go about with this problem. I have a directory which contains files in the following format. The files are in a diretory called /incoming/external/data AA_20100806.dat AA_20100807.dat AA_20100808.dat ... (4 Replies)
Discussion started by: ziggy25
4 Replies

9. Homework & Coursework Questions

Newest file changed

Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted! 1. The problem statement, all variables and given/known data: The program should search all files in current directory and it's subdirectories and list out the newest file by... (8 Replies)
Discussion started by: petel1
8 Replies
Login or Register to Ask a Question