Avec la commande ls
, est-il possible d'afficher uniquement les fichiers créés après une date, une heure ...?
Je le demande parce que j'ai un répertoire avec des milliers de fichiers.
Je veux donc voir tous les fichiers qui ont été créés depuis hier.
J'utilise ls -ltr
mais je dois attendre pour voir tous les fichiers ...
Il y a un équivalent de DIRECTORY/SINCE=date
d'OpenVMS?
Vous pouvez utiliser la commande find
pour rechercher tous les fichiers qui ont été modifiés après un certain nombre de jours.
Par exemple, pour rechercher tous les fichiers du répertoire en cours qui ont été modifiés depuis hier (il y a 24 heures), utilisez:
find . -maxdepth 1 -mtime -1
Notez que pour trouver des fichiers modifiés avant il y a 24 heures, vous devez utiliser -mtime +1
au lieu de -mtime -1
.
find . -type f -newermt '1/30/2017 0:00:00'
Cela trouvera tous les fichiers modifiés après une date spécifique.
ls -ltr | grep "`date | awk '{print $2" "$3}'`"
J'espère que cela fonctionne:
ls -ltr | awk '$6 == "May" && $7 >=01 && $7 <= 31 {print $9}'
Ici:
$6 indicates position of month
$7 indicates day of the month
cette commande ci-dessus imprime tous les noms de fichiers créés à partir du 1er mai jusqu'au 31 mai
si vous souhaitez également imprimer la date sur la console, essayez ceci
ls -ltr | awk '$6 == "May" && $7 >=01 && $7 <= 31 {print $6"-"$7,$9}'
Si vous souhaitez spécifier le chemin du répertoire, vous pouvez essayer ceci
ls -ltr <path>| awk '$6 == "May" && $7 >=01 && $7 <= 31 {print $6"-"$7,$9}'