Find files modified between two dates on Linux

Older versions of find don’t support the -newermt predicate, so you cannot use it. As a workaround, you could use the -newer predicate. That predicate needs a file as a reference: instead of an absolute modification date, it will use the modification date of the file. You can create appropriate “marker files” for this purpose, for example:

touch /tmp/mark.start -d "2013-12-19 00:00"
touch /tmp/mark.end -d "2013-12-16 00:00"

And then rewrite using -newer predicate:

find /some/path -newer /tmp/mark.start

To find between dates the exclamation is the equivalent of “not” so do this:

find /some/path -newer /tmp/mark.start ! -newer /tmp/mark.end