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"