Makerere University

Enter a keyword or two into the search box above and click search..

How to remove files modified between particular dates

You are here

There are many methods of doing this. Here are afew commands that have worked in my experience.

The command GNU find is the way to go. For example, to delete all files in the current directory between 1 and 5 august, you can use the following command

find . -maxdepth 1 -type f -newermt 2011-08-01 ! -newermt 2011-08-06 -delete

It is better to execute the command without the -delete action, first, to see the listing of interested files (a good substitute could be -ls that produce an ls-like listing).

Removing the -maxdepth 1 specification will traverse all subdirectories, too.

You can also specify hours, for example

find . -maxdepth 1 -type f -newermt '2011-08-01 10:01:59' \
                         ! -newermt '2011-08-06 23:01:00' -delete

Be warned to not remove single quotes, that protect spaces between date and time.

The character ! is a negation, it should be read: newer that this date but not newer that this other date.