find - finden nach datum ?

Post Reply
Message
Author
tuxic trace

find - finden nach datum ?

#1 Post by tuxic trace »

Hallo,

wenn die manpage mich nicht trügt, kann "find" keine Dateien finden, deren mtime sich nach $DATUM/$ZEIT geändert hat (es gibt -newer, aber das würde ja eine Datei erfordern, die genau an dem Tag um die Uhrzeit erstellt wurde, also nicht praktikabel, genausowenig in diésem Fall wie relative Zeitangaben).

Kurz, ich möchte alle Dateien in $PFAD finden, die z.B. nach dem 27.12.2001 22:00 modifiziert/erstellt (nur mtime) wurden.

Kennt jemand eine(n) Workaround/Lösung ?

Ich habs nicht geschaft, eine Datei zu erstellen, und dann mittels "touch -m" die mtime zurückzusetzen, allerdings schweigt sich meine manpage ein wenig über das Format aus.

Jochen

Re: find - finden nach datum ?

#2 Post by Jochen »

Nix leichter als das:
<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">
touch -t 200112272200 /tmp/referenzdatei
find / -newer /tmp/referenzdatei -print
</font><hr></pre></blockquote>
Alternativ geht auch "touch -d '12/27/2001 22:00' /tmp/referenzdatei"; leider scheint er nur amerikanische Datumsangaben zu mögen.

Übrigens, "-m" bedeutet, dass nur die mtime zu ändern ist. Per Default ändert touch sowohl mtime als auch atime. Sollte die man-Page zu touch nicht so toll sein, gibt es meiner Erfahrung nach meist zwei Auswege:

LANG=en_US man touch

So wird (für diesen einen Aufruf) man veranlasst, die englische man-Page hervorzukramen statt der manchmal schlechteren deutschen Übersetzung.

info touch

Die eigentliche Referenz bei GNU-Utilities. Vielleicht kannst Du mit diesen Mitteln eher zum Ziel kommen.

Jochen

Jochen

tuxic trace

Re: find - finden nach datum ?

#3 Post by tuxic trace »

Ich hab eh nur englische man pages, und da stand halt nur zu -m ändert die mtime, aber nicht, wie das Format auszusehen hat.

Und ein "touch -m 20011227 datei" hatte zur Folge, das ich zwei Dateien hatte, eine Datei namens "20011227" und halt eine namens "datei". Zeit hatte ich noch keine angegeben.
Vermutlich hab ich mich bei der Angabe des Datums vertan, die mapage hatte leider kein Beispiel, wie denn das Format auszusehen hat. Werde es aber am WE mal testen.

> Vielleicht kannst Du mit diesen Mitteln eher zum Ziel kommen

Mit info stehe ich auf Kriegsfuß. Damit komm ich gar nicht klar.

Danke.

Jochen

Re: find - finden nach datum ?

#4 Post by Jochen »

Nun ja, zur Option "-m" wird kein mögliches Optionsargument aufgelistet, also ist ein einfacher Schalter: An (-m gesetzt) oder aus (-m nicht angegeben). Demzufolge hat touch das Datum als Argument, also zu "touchende" Datei gesehen. Dagegen kann man bei Option -d oder -t ein Optionsargument mit angeben - also den zu nutzenden Zeitpunkt.

Info ist eigentlich ganz einfach; einfach mal "?" drücken. Probier's einfach mal für 10 min, dann geht's schon ganz einfach. Wenn alle Stricke reissen, kannst Du auf die Info-Seiten auch mittels der KDE-Online-Hilfe zugreifen (GNOME wird's wahrscheinlich auch können, aber da weiss ich es nicht genau).

Jochen

Post Reply