How list file by range of date?

18,759

This should work

find . -type f -mtime -3

Explanation

find         find files
.            starting in the current directory (and it's subdirectories)
-type f      which are plain files (not directories, or devices etc)
-mtime -3    modified less than 3 days ago

See man find for details


Update

To find files last modified before a specific date and time (e.g. 08:15 on 20th February 2013) you can do something like

  touch -t 201302200815 freds_accident
  find . -type f ! -newer freds_accident
  rm freds_accident

See man touch (or info touch - ugh!)

This is moderately horrible and there may be a better way. The above approach works on ancient and non-GNU Unix as well as current Linux.

Share:
18,759

Related videos on Youtube

Valter Silva
Author by

Valter Silva

Updated on September 18, 2022

Comments

  • Valter Silva
    Valter Silva over 1 year

    I would like to list files with 3 days years old. I found this one at stackoverflow:

    find . -type f -printf "%-.22T+ %M %n %-8u %-8g %8s %Tx %.8TX %p\n" | sort | cut -f 2- -d ' ' | grep 2012
    

    But I kind don't understand what the whole command means. I wonder if there is something short and simple to understand.

  • Valter Silva
    Valter Silva about 11 years
    Red, just a curiosity, I'm reading the man find now, and I would like to list files older than today only, daystart it seems the right choice, but how do I pass the start date ?
  • user5249203
    user5249203 about 11 years
    Typo in prior comment: s/daytime/daystart/. Also see update in answer.