Archiv verlassen und diese Seite im Standarddesign anzeigen : Dateien eines bestimmten zeitraumes finden
meinereinerseiner
28-08-2001, 20:20
hi,
ich suche ein script, welchen ich einen
bestimmten zeitraum übergebe und welches dann
in einem bestimmten verzeichnis und dessen unterverzeichnis alle dateien dazu findet und diese verschieben tut, ich denke mal find ist ein ansatz, aber wie mache ich das mit dem zeitraum?
der tom
Um alle Dateien zu finden, die älter als 10 Tage aber maximal 20 Tage alt sind, hilft das:
find /hier_gehts_los -atime +10 -atime -20
Thomas
jgbauman
29-08-2001, 13:29
Vielleicht funktioniert ja folgendes Skript.
#! /bin/bash
DIR=$1
STARTTIME=$2
ENDTIME=$3
shift 3
OPTS=$@
if [ -z $STARTTIME ]; then
echo "usage: "$0" dir starttime endtime [find opts ...]" >&2
echo " endtime defauls to now" >&2
exit 1
fi
NOWSEC=`date +%s`
STARTSEC=`date +%s -d $STARTTIME`
if [ -z $STARTSEC ]; then
exit 1;
fi
if [ $STARTSEC -gt $NOWSEC ]; then
STARTSEC = NOWSEC
echo "warning: starttime is in the future " >&2
fi
STARTMIN=$(( (NOWSEC-STARTSEC) / 60 ))
START="-amin -$STARTMIN"
if [ ! -z $ENDTIME ]; then
if [ $ENDTIME != "now" ]; then
ENDSEC=`date +%s -d $ENDTIME`
if [ -z $ENDSEC ]; then
exit 1;
fi
if [ $ENDSEC -gt $NOWSEC ]; then
ENDSEC = NOWSEC
echo "warning: endtime is in the future " >&2
fi
ENDMIN=$(( (NOWSEC-ENDSEC) / 60 ))
END="-amin +$ENDMIN"
fi
fi
#echo $DIR $START $END $OPTS
find $DIR $START $END $OPTS
folgendermassen zu benutzten:
./timeframe.sh . 2001-08-29 now -maxdepth 1
Achtung: 2001-08-29 bedeutet immer "2001-08-29 00:00".
Also findet:
./timeframe.sh dir 2001-08-28 2001-08-29
Alle Dateien die zwischen "2001-08-28 00:00" und "2001-08-29 00:00" bearbeitet wurden.
Willst Du statt access die creation-time solltes Du aus -amin an beiden Stellen im Skript -cmin machen.
meinereinerseiner
29-08-2001, 14:15
danke, werds heute abend mal testen
meinereinerseiner
29-08-2001, 15:10
hurra - es tut :-)
der tom
meinereinerseiner
29-08-2001, 23:54
naja, kann ich dem auch konkrete zeiten übergeben, z.b
10.08.2001 - 23.08.2001 oder tut das nur mit
absoluten angaben?
der tom
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.