Auf Centos trat eine ziemlich seltsame Fehlermeldung auf.
Ich habe versucht, diesen Befehl auszuführen:
find /tmp/something -type f -mtime +2h -exec cp '{}' /tmp/target \;
Und der Fehler, den ich habe:
find: invalid argument `-exec' to `-mtime'
Kann das „Finden“ bei anderen Distributionen anders sein?
Antwort1
-mtime
wird tagelang verwendet. Wenn Sie 2 Stunden benötigen, prüfen Sie Folgendes:
find /tmp/something -type f -mmin +120 -exec cp '{}' /tmp/target \;
mmin gibt Minuten an, also filtert -mmin +120 diejenigen heraus, die vor mehr als 120 Minuten (2 Stunden) liegen. Aus dem Handbuch:
-mZeit n
Die Daten der Datei wurden zuletzt vor n*24 Stunden geändert. Lesen Sie die Kommentare zu -atime, um zu verstehen, wie sich die Rundung auf die Interpretation der Dateiänderungszeiten auswirkt.
-mmin n
Die Daten der Datei wurden zuletzt vor n Minuten geändert.
Antwort2
Die find
Implementierung unter MacOS unterscheidet sich ein wenig von der unter Linux verfügbaren. Ich glaube, Sie haben den obigen Fehler auf einem Linux-System erhalten.
Unter Linux mtime
werden nur +- und eine Zahl akzeptiert. Die Zahl ist die Anzahl der Tage.
Für das, was Sie oben tun möchten, müssen Sie verwendenmmin
-mmin n
File’s data was last modified n minutes ago.
Dieser Befehl sollte unter Linux funktionieren:
find /tmp/something -type f -mmin +120 -exec cp '{}' /tmp/target \;