Comment puis-je utiliser find
pour sélectionner des fichiers qui ont été écrits et non modifiés à la dernière minute?
Je sais que je peux faire l'inverse, trouver des fichiers modifiés au cours des 60 dernières secondes avec -mtime -60s
, mais je veux ceux qui n'ont pas été modifiés au cours des 60 dernières secondes.
J'utilise Linux et j'obtiens cette erreur si j'utilise des secondes:
find ??/ -mtime +60s -name blah.tsv
find: invalid argument `+60s' to `-mtime'
+60
n'est pas l'opposé de-60
, pour la même raison moins que n'est pas l'opposé de plus de : Les deux excluent la valeur exacte à laquelle ils se comparent. Mais votre question n'indique pas quel comportement vous voulez exactement.Exemple
la source
osx
.Le second
-
dans-mtime -60s
n'est pas un délimiteur d'option.-mtime
est une option, et elle est suivie d'un argument d'option . L'argument option est-60s
, et le-
contenu fait partie de l'argument option lui-même, pas un délimiteur d'option. Cela signifie "moins de 60 secondes". Les arguments d'option60s
et+60s
signifient respectivement "égal à 60 secondes" et "supérieur à 60 secondes".Le manuel Apple MacOS et le manuel FreeBSD mentionnent les préfixes
+
et-
en un seul endroit, et oublient d'expliquer où ils sont. Voilà ce qu'ils sont.(Le manuel GNU Info pour GNU
find
a la même omission, ce qui est intéressant. Cependant,find
la syntaxe de GNU pour l'époque est quelque peu différente de lafind
syntaxe BSD et MacOS .)Lectures complémentaires
find
Page de manuel de MacOS 10 . Bibliothèque pour développeurs MacOS 10.find
(1) . 17/03/2010. Manuel des commandes générales de FreeBSD. Projet FreeBSD.la source
atime
format de l'heure, mais cela n'explique pas non plus les préfixes . Il s'agit d'une section distincte qui n'est pas référencée.Vous devriez pouvoir utiliser
la source
find . !( -mtime -60s )
Dans les systèmes Unix -mtime était suivi d'un +/- suivi d'un nombre suivi d'unités de temps. [+ -] nn [dms]
Linux utilise mtime pour les jours, mmin pour les minutes, mais il ne semble pas y avoir d'option de secondes et n'utilise pas de spécificateur d'unités de temps. Le + ou - se réfère toujours à plus ou moins que le temps plutôt que d'être un argument d'option comme mentionné ci-dessus.
Vous pouvez utiliser -mmin 1, mais /unix/238738/find-files-newer-than-15-seconds-but-older-than-2-seconds explique comment gérer les secondes en général .
la source