Ich möchte Dateien finden, die neuer als 15 Sekunden, aber älter als 2 Sekunden sind. Hier ist das Skript, das ich derzeit verwende und das Dateien größer als 15 Sekunden erfasst:
find /my/directory -name '*.jpg' -not -newermt '-15 seconds'
Jede Hilfe wird sehr geschätzt
find
Implementierungen.Antworten:
Sie können mehrere Prädikate kombinieren, indem Sie sie verketten.
Es gibt keine
-oldermt
, aber Sie können das als schreiben-not -newermt
.Sie wollen:
-newermt '-15 seconds'
die Datei ist weniger als 15 Sekunden alt und-not -newermt '-2 seconds'
die datei ist mehr als 2 sekunden altVersuchen:
Oder um POSIX-konform zu sein:
Nur damit Sie (und andere Leser) wissen, bedeutet "neu" auch, dass Änderungen erst vor kurzem vorgenommen wurden und nicht erst vor kurzem vorgenommen wurden.
quelle
-not -newermt '-2 seconds'
auch Dateien abgeglichen werden, die genau 2 Sekunden alt sind. Verwenden Sie-not -newermt '3 seconds'
diese Option, um diese ebenfalls auszuschließen.touch -d "2 seconds ago" file; find . -newermt '-15 seconds' -not -newermt '-2 seconds'
und bekamfile
.Sie haben Ihr Betriebssystem nicht erwähnt ...
Dies funktioniert gut mit einer modernen Find-Implementierung wie der von FreeBSD oder mit
sfind
.find /my/directory -name '*.jpg' -mtime -15s -mtime +2s
Sfind ist Teil der Schily-Tools: http://sourceforge.net/projects/schilytools/files/
WARNUNG: Ich habe gerade ein Problem in entdeckt
sfind
. Wenn die-mtime
Argumente kürzer als 60 Sekunden sind, funktioniert dies nicht ordnungsgemäß, da die Dateizeiten derzeit mit einem Zeitstempel von 60 Sekunden in der Zukunft verglichen werden, der ursprünglich für die Jahresumstellung für berechnet wurde-ls
.Übrigens: Gehört
-not
nicht dazufind
, es ist ein nicht portierbarer GNUism.quelle
bash
Tag… Die Umgebung könnte also Cygwin, Debian GNU / Hurd sein,bash
das unter FreeBSD oder Solaris läuft,… ;-)find
scheint es, dass Dezimalstellen, obwohl verrückt, als Workaround verwendet werden können.!
für -not as! expression
. Also keine große Sache.primary
von arbeitetfind
, um die Benutzer darüber zu informieren, dass nicht immer neue hinzugefügtprimaries
werden müssen, um die Funktionalität zu verbessern. Übrigens: Ein Fixlibfind
wurde im veröffentlichtschily tools
.gfind
der-not
Alias überhaupt hinzugefügt wurde . Es wurde nie gebraucht und seine Präsenz kann als eine Strategie des Anbieters angesehen werden.