find
a un bon support pour trouver les fichiers les plus modifiés il y a moins de X jours, mais comment puis-je utiliser find
pour localiser tous les fichiers modifiés après une certaine date?
Je ne trouve rien dans la find
page de manuel pour le faire, seulement pour comparer avec un autre temps de fichiers ou pour vérifier les différences entre le temps créé et maintenant. La création d'un fichier avec le temps souhaité et la comparaison sont-elles la seule façon de procéder?
Réponses:
Si vous n'avez que «-newer file», vous pouvez prendre cette solution de contournement:
toucher de l'homme:
En supposant que votre toucher a cette option (le mien est tactile 5,97).
la source
Non, vous pouvez utiliser une chaîne de date / heure.
De
man find
:Exemple:
la source
Pas directement lié à la question, mais pourrait être intéressant pour certains qui trébucheront ici.
La commande find ne prend pas directement en charge le paramètre -older pour rechercher des fichiers antérieurs à une date requise, mais vous pouvez utiliser l'instruction negate (à l'aide d'un exemple de réponse accepté):
renverra les fichiers plus anciens que la date fournie.
la source
cette commande find trouvera les fichiers modifiés au cours des 20 derniers jours.
Vous pouvez ajouter des limitations supplémentaires comme:
comme avant, mais ne trouve que les fichiers se terminant par '.txt'.
la source
Juste pour ajouter - vous pouvez même utiliser deux arguments newermt pour rechercher dans un intervalle de temps:
pour retrouver tous les fichiers de mars 2007.
la source
Vous pouvez utiliser un script comme celui-ci
Enregistrez-le dans votre $ PATH sous le nom "newerthan" et rendez-le exécutable.
Ensuite, vous pouvez trouver un fichier modifié après une certaine date comme ceci:
ou
ou
Cela devrait faire ce que vous voulez. Je ne pense pas qu'il existe un moyen intégré pour y parvenir autrement.
la source
bc
pour les mathématiques entières, Bash peut le faire((seconds = when - now))
:, l'argument formatdate
doit avoir un plusdate +%s
et certains systèmes peuvent ne pas avoirdate -d
comme ça:
Cela vous donnera des fichiers antérieurs au 01-01-2015 dans votre répertoire actuel.
https://muzaffarmahmoodblog.wordpress.com/2019/07/11/linux-command-to-remove-files-older-than-2015-in-a-directory/
la source
si votre date est formatée de façon à ce qu'elle puisse être comparée,
la source