Je souhaite rechercher des fichiers dont la taille est inférieure à 15 secondes mais antérieure à 2 secondes. Voici le script que j'utilise actuellement qui récupère les fichiers de moins de 15 secondes:
find /my/directory -name '*.jpg' -not -newermt '-15 seconds'
Toute aide est grandement appréciée
find
implémentations.Réponses:
Vous pouvez combiner plusieurs prédicats en les chaînant.
Il n'y a pas
-oldermt
, mais vous pouvez écrire cela comme-not -newermt
.Tu veux:
-newermt '-15 seconds'
dire que le fichier a moins de 15 secondes, et-not -newermt '-2 seconds'
dire que le fichier a plus de 2 secondesEssayer:
Ou, pour être conforme à POSIX:
Aussi, juste pour que vous (et les autres lecteurs) le sachiez, "plus récent" signifie modifié plus récemment que, pas créé plus récemment que.
la source
-not -newermt '-2 seconds'
cela correspondra également aux fichiers datant de 2 secondes exactement. Utilisez-les également-not -newermt '3 seconds'
pour les exclure.touch -d "2 seconds ago" file; find . -newermt '-15 seconds' -not -newermt '-2 seconds'
et d'obtenirfile
.Vous n'avez pas mentionné votre système d'exploitation ....
Cela fonctionne très bien avec une implémentation de recherche moderne comme celle de FreeBSD ou avec
sfind
.find /my/directory -name '*.jpg' -mtime -15s -mtime +2s
Sfind fait partie des outils Schily: http://sourceforge.net/projects/schilytools/files/
AVERTISSEMENT: je viens de découvrir un problème dans
sfind
. Si les-mtime
arguments sont inférieurs à 60 s, cela ne fonctionnera pas correctement car les heures de fichier sont actuellement comparées à un horodatage de 60 secondes à l'avenir qui a été initialement calculé pour le changement d'année pour-ls
.BTW:
-not
n'appartient pas àfind
, c'est un GNUisme non portable.la source
bash
tag… Donc l'environnement pourrait être Cygwin, Debian GNU / Hurd,bash
fonctionnant sur FreeBSD ou Solaris,… ;-)find
, il semble que les décimales, bien que folles, puissent être utilisées comme solution de contournement.!
pour -not as! expression
. Donc, ce n'est pas grave.primary
defind
pour informer les gens qu'il n'est pas nécessaire d'ajouter toujours de nouveaux élémentsprimaries
à rechercher pour pouvoir améliorer les fonctionnalités. BTW: Un correctiflibfind
a été publié dans leschily tools
.gfind
ajouté l'-not
alias. Cela n'a jamais été nécessaire et sa présence peut être considérée comme une stratégie de verrouillage des fournisseurs.