Trouver tous les fichiers de plus d'une minute

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 

Exemple

 $ ls * four.txt one.txt three.txt two.txt $ touch foo && find . -mmin +1 . ./three.txt ./four.txt ./two.txt ./one.txt 

Le second dans le -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).

Autres lectures

  • Apple incorporé (2008-02-24). 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