Rechercher des fichiers entre 2 dates

Je veux obtenir tous les fichiers entre 2 dates avec ce format: AAAA-MM-JJ HH: mm

J’ai aussi quelques contraintes: je ne peux pas écrire des fichiers même dans / tmp, et je ne peux pas utiliser find --newermt car c’est un ancien serveur.

J’ai essayé d’utiliser awk sans succès:

 ls -l --time-style=long-iso | awk '{ if (mktime(gensub ("-", " ", $6) " " gensub (":", " ", $7) " 00") >= mktime(gensub ("-", " ", gensub (":", " ", "2014-08-26 12:30")) " 00") && mktime(gensub ("-", " ", $6) " " gensub (":", " ", $7) " 00") <= mktime(gensub ("-", " ", gensub (":", " ", "2014-08-26 12:30")) " 00")) print $8 }' 

Merci d’avance !

Je verrais si vous pouvez utiliser stat avec un format approprié. Sur mon système (Linux), imprimez le nom du fichier et le mtime avec

 stat --format=$'%n\t%y' * 

Ensuite, pour filtrer en fonction du mtime:

 stat --format=$'%n\t%y' * | awk -F"\t" -v from="2014-08-01 00:00" \ -v to="2014-09-01 00:00" 'from <= $NF && $NF <= to {NF--; print}' 

Voulez-vous dire qu’il existe une ancienne version de «trouver» ou que vous n’avez pas du tout de «recherche»?

Si vous avez trouvé, mais c’est une ancienne version, alors il y a un autre moyen que ‘-newermt’:

Comment utiliser ‘find’ pour rechercher des fichiers créés à une date spécifique?

La troisième réponse montre comment créer deux fichiers avec les horodatages requirejs. Ensuite, utilisez:

 find / -newer /tmp/t1 -and -not -newer /tmp/t2