[linux-l] Dateien finden, die genau am Tag YYYY-MM-DD veraendert wurden

Peter Ross Peter.Ross at alumni.tu-berlin.de
Mi Mai 9 07:56:47 CEST 2007


On Wed, 9 May 2007, Jan-Benedict Glaw wrote:

> On Wed, 2007-05-09 15:10:07 +1000, Peter Ross <Peter.Ross at alumni.tu-berlin.de> wrote:

> Wird vermutlich nicht funktionieren, weil -exec eben etwas erwartet,
> das man exec'en kann. Das wird bei einer Funktion nicht gehen. Man
> könnte natürlich ein längeres sh -c .... Konstrukt daraus machen...

Stimmt.

#!/bin/sh
# echo_datei_dieses_tages.sh
# Parameter: $1 Datum, $2 File
morgens=`date -d $1 +%s`
abends=`echo ${morgens}+86400 | bc`
alter=`stat -c %Y $2`
if [ ${morgens} -le ${alter} ]; then
   if [ ${abends} - gt ${alter} ]; then
      echo $2
   fi
fi


# Parameter $1 Datum, $2 Pfad
find $2 -type f -exec echo_datei_dieses_tages.sh ${} \;

Die Schaltsekunde spar ich mir jetzt mal;-) Weiss ehrlich gesagt nicht 
mal, wie Unix/Linux das handhabt.. und ob epoch das beruecksichtigt (eher 
nicht?)

Du darfst Dir auch gern noch Gedanken ueber kaputte Parameter, Leerzeichen 
(Stichwort find -print0 und xargs) und Locale machen.. War auch nur als 
Gedankenschnipsel gedacht - Perfektion gegen huebsche Zahlen auf einem 
Scheck;-)
  
Gruss
Peter


Mehr Informationen über die Mailingliste linux-l