web-dev-qa-db-fra.com

Ubuntu Linux: trouver des fichiers entre des heures spécifiques?

J'ai trouvé un SO appelé à l'aide de Find/Grep pour rechercher des fichiers entre des heures précises de la journée

Basé sur cela et un Unix SE appelé commande Grep pour trouver des fichiers contenant une chaîne de texte et les déplacer

find . -type f -mtime -20 | grep -v -e " \(0[012345]\|18\|19\|2[0123]\)" | xargs mv -t daytime/

Mais ça déplace TOUS les fichiers. Est-ce que cela fait une différence que j'utilise Ubuntu?

Tout ce que je veux faire est de déplacer tous les fichiers entre 6h et 18h vers un autre répertoire. Toute suggestion serait appréciée.

18
digitaltoast

En fait, find a déjà cette fonctionnalité:

find . -newermt "2013-01-01 00:00:00" ! -newermt "2013-01-02 00:00:00"

De la page de manuel:

-newerXY reference
       Compares  the timestamp of the current file with reference.  The
       reference argument is normally the name of a file  (and  one  of
       its  timestamps is used for the comparison) but it may also be a
       string describing an absolute time.  X and  Y  are  placeholders
       for other letters, and these letters select which time belonging
       to how reference is used for the comparison.

       a   The access time of the file reference
       B   The birth time of the file reference
       c   The inode status change time of reference
       m   The modification time of the file reference
       t   reference is interpreted directly as a time

       Some combinations are invalid; for example, it is invalid for  X
       to  be t.  Some combinations are not implemented on all systems;
       for example B is not supported on all systems.  If an invalid or
       unsupported  combination  of  XY  is  specified,  a  fatal error
       results.  Time specifications are interpreted as for  the  argu‐
       ment  to the -d option of GNU date.  If you try to use the birth
       time of a reference file, and the birth time  cannot  be  deter‐
       mined,  a  fatal  error  message results.  If you specify a test
       which refers to the birth time of  files  being  examined,  this
       test will fail for any files where the birth time is unknown.
31
mrks