GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Finden Sie rekursiv alle Dateien, die neuer als eine bestimmte Zeit sind

Das ist etwas umständlich, weil touch nimmt keine rohen time_t Wert, aber es sollte die Arbeit in einem Skript ziemlich sicher erledigen. (Die -r Option zu date ist in MacOS X vorhanden; Ich habe GNU nicht doppelt überprüft.) Die 'time'-Variable könnte vermieden werden, indem die Befehlsersetzung direkt in touch geschrieben wird Befehlszeile.

time=$(date -r 1312603983 '+%Y%m%d%H%M.%S')
marker=/tmp/marker.$$
trap "rm -f $marker; exit 1" 0 1 2 3 13 15
touch -t $time $marker
find . -type f -newer $marker
rm -f $marker
trap 0

Sie können jede Datei finden, die am letzten Tag erstellt/geändert wurde, verwenden Sie dieses Beispiel:

find /directory -newermt $(date +%Y-%m-%d -d '1 day ago') -type f -print

Um alles in der letzten Woche zu finden, verwenden Sie „Vor 1 Woche“ oder „Vor 7 Tagen“, was immer Sie wollen


Vielleicht kann es jemand gebrauchen. Finden Sie rekursiv alle Dateien, die innerhalb eines bestimmten Zeitraums geändert wurden, führen Sie einfach Folgendes aus:

find . -type f -newermt "2013-06-01" \! -newermt "2013-06-20"

Linux
  1. So finden Sie eine Datei in Linux rekursiv in allen Verzeichnissen

  2. Größte Dateien rekursiv finden?

  3. Wie finde ich unter Linux alle Dateien, die größer als 1 GB sind?

  4. So finden Sie alle Sparse-Dateien in Linux

  5. Alle Dateien in einem Verzeichnis rekursiv auflisten, einschließlich Dateien in Symlink-Verzeichnissen

So finden Sie rekursiv alle Dateien mit einer Dateigröße von Null (0) Bytes in einem Verzeichnis

Wie man alle Dateien und Verzeichnisse rekursiv auflistet

Wie man alle Dateien in allen Unterverzeichnissen in Bash gzippt

Alle Grafikdateien mit find auflisten?

Verzeichnisse mit allen Dateien finden, die älter als X sind?

Wie kann ich alle leeren Dateien und Verzeichnisse in Linux rekursiv löschen?