J'ai un directory appelé /home/mydir/test
Un file sera envoyé par une autre équipe qui atterrit dans ce directory. Comment find quel est le time que le file est venu à ce directory particulier? (J'ai besoin à la fois du format horodatage et du format hh: mm: ss normal) Je dois déplacer les files dans le directory qui est ici pour plus de 5 heures. Comment récupérer ces files?
Vous pouvez utiliser stat -c %w filename
, il fournira la date de naissance de manière lisible par l'homme, et -C
fournira dans un timestamp unix.
L'heure de naissance n'est pas prise en charge sur tous les filesystems; utilisez stat -c %z
, c'est-à-dire l'heure du dernier changement, dans ces cas.
stat sans options vous permet de voir tous les horodatages (naissance, access, modification, modification)
Pour la dernière partie de votre question: Utilisez find
pour find tous les files de plus de 5 * 60 minutes ( -cmin
tests pour le time de changement en minutes, +300
signifie plus de 300); {}
est remplacé par le nom de file:
find in_dir -cmin +300 -type f -exec mv {} out_dir \;
Update: Ajoute -type f
pour ne pas déplacer in_dir lui-même vers out_dir.