Wie kann ich find
Dateien auswählen, die in letzter Minute geschrieben und nicht geändert wurden?
Ich weiß, dass ich es umgekehrt machen kann, Dateien finden, die in den letzten 60 Sekunden geändert wurden -mtime -60s
, aber ich möchte diejenigen, die in den letzten 60 Sekunden nicht geändert wurden.
Ich benutze Linux und erhalte diesen Fehler, wenn ich Sekunden benutze:
find ??/ -mtime +60s -name blah.tsv
find: invalid argument `+60s' to `-mtime'
+60
ist es nicht das Gegenteil von-60
, aus dem gleichen Grund weniger als nicht das Gegenteil von größer als : Beide schließen den genauen Wert aus, mit dem sie vergleichen. Ihre Frage gibt jedoch nicht genau an, welches Verhalten Sie möchten.Beispiel
quelle
osx
.Das zweite
-
in-mtime -60s
ist kein Optionsbegrenzer.-mtime
ist eine Option, gefolgt von einem Optionsargument . Das Optionsargument ist-60s
und das-
darin enthaltene Teil des Optionsarguments selbst kein Optionsbegrenzer. Es bedeutet "weniger als 60 Sekunden". Optionsargumente60s
und+60s
bedeuten "gleich 60 Sekunden" bzw. "größer als 60 Sekunden".Das Apple MacOS-Handbuch und das FreeBSD-Handbuch erwähnen die Präfixe
+
und-
an genau einer Stelle und vergessen, irgendwo zu erklären, was sie sind. Das sind sie.(
find
Interessanterweise enthält das GNU-Info-Handbuch für GNU dieselbe Auslassung. Diefind
Syntax von GNU unterscheidet sich jedoch zeitweise etwas von der BSD- und MacOS-find
Syntax.)Weiterführende Literatur
find
MacOS 10 Handbuchseite . MacOS 10-Entwicklerbibliothek.find
(1) . 2010-03-17. FreeBSD General Commands Manual. FreeBSD-Projekt.quelle
atime
das Zeitformat, aber das erklärt auch nicht die Präfixe . Es ist ein separater Abschnitt, auf den nicht verwiesen wird.Sie sollten in der Lage sein zu verwenden
quelle
find . !( -mtime -60s )
In Unix-Systemen folgte auf -mtime ein +/-, gefolgt von einer Zahl gefolgt von Zeiteinheiten. [+ -] nn [dms]
Linux verwendet mtime für Tage, mmin für Minuten, aber es scheint keine Sekundenoption zu geben und es wird kein Zeiteinheitenbezeichner verwendet. Das + oder - bezieht sich immer noch auf mehr als oder weniger als die Zeit und nicht auf ein Optionsargument, wie oben erwähnt.
Sie könnten -mmin 1 verwenden, aber /unix/238738/find-files-newer-than-15-seconds-but-older-than-2-seconds erläutert, wie Sekunden im Allgemeinen behandelt werden .
quelle