Comment puis-je utiliser la find
pour sélectionner des fichiers qui ont été écrits et non modifiés en dernière minute?
Je sais que je peux le faire dans l'autre sens, 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'éprouve cette erreur si j'utilise des secondes:
find ??/ -mtime +60s -name blah.tsv find: invalid argument `+60s' to `-mtime'
Utilisez find /path -type f -mtime +60s
Le -
juste avant que les chiffres ne soit pas un "tableau d'argument" régulier, mais signifie "moins que". +
Est alors "plus que".
De l' man find
:
Toutes les primaires qui prennent un argument numérique permettent au nombre d'être précédé d'un signe plus (“ + '') ou d'un signe moins (“ – ''). Un signe plus précédent signifie «plus que n», un signe moins précédent signifie «moins de n» et ne signifie pas «exactement n».
Il convient de noter que pour exactement n , l'heure est arrondie. Donc, 1
(1 jour) ne signifie pas 86400 secondes.
Bien que vous ayez marqué ce OSX
, le -mtime +60s
n'est pas portable. Ce qui suit est cependant:
find . -type f -mmin +1
$ ls * four.txt one.txt three.txt two.txt $ touch foo && find . -mmin +1 . ./three.txt ./four.txt ./two.txt ./one.txt
-mtime -60s
n'est pas un délimiteur d'option. -mtime
est une option, et il est suivi d'un argument d'option . L'argument de l'option est -60s
, et le -
il fait partie de l'argument d'option lui-même, pas un délimiteur d'option. Cela signifie "moins de 60 secondes". Les arguments d'option 60s
et +60s
signifient "égal à 60 secondes" et "supérieur à 60 secondes", respectivement.
Le manuel Apple MacOS et le manuel FreeBSD mentionnent les préfixes +
et -
exactement dans un endroit, et oublient d'expliquer n'importe où ce qu'ils sont. C'est ce qu'ils sont.
(Le manuel GNU Info pour GNU find
a la même omission, assez intéressant. Cependant, la syntaxe de find
GNU pour les temps est quelque peu différente de la syntaxe de find
BSD et MacOS).
find
la page de manuel MacOS 10 . MacOS 10 Developer Library. find
(1) . 2010-03-17. Manuel des commandes générales de FreeBSD. Projet FreeBSD. Vous devriez pouvoir utiliser
find . ! -mtime -60s