Je dois créer une liste de fichiers situés sur mon disque dur dans l'ordre de leur arrivée sur le disque dur. Pour ce faire, j'ai utilisé ce qui suit: qui répertorie tous les fichiers de la date de date / heure, cependant, il ne les ordonne que le second près. Le problème ici est qu'il existe des milliers de fichiers et de temps en temps, quelques-uns d'entre eux viennent groupés ensemble dans la même seconde. J'ai besoin de la commande correcte exacte em>. Je suppose que le moyen le plus simple de le faire est d'obtenir le temps de création au Milli (ou peut-être nano). Pour ce faire, j'ai essayé d'utiliser ce qui suit: p> pour examiner l'heure de modification, mais elle affiche toujours heure: minute: second.00000000000. P> Y a-t-il un moyen de faire cela?
Merci,
Rik p> p>
3 Réponses :
Vous devrez probablement écrire votre propre commande Stat, à l'aide du Stat (2) une fonction> p>
La précision dépend du système de fichiers que vous utilisez, mais même avec un système de fichiers de précision élevé tel que EXT4, la mise en oeuvre standard de STAT utilise Time_T qui a une résolution de 1 seconde. P>
Si vous avez accès à la source du programme cracher tous ces fichiers, essayez de définir un horodatage dans le nom de fichier de fichier, puis trier le nom de fichier plutôt que le temps de modification. P>
Je ne suis pas sûr que cela soit possible. Mon raisonnement:
Si vous regardez le Stat () Appel de fonction, vous voyez qu'il renvoie une structure contenant des informations sur un fichier. L'un de ses membres est celui-ci: p> et si vous regardez la structure TIME_T, eh bien, systèmes compatibles UNIX et POSIX
mettre en œuvre TIME_T comme un entier ou
type réel flottant (typiquement a
32- ou 64 bits entier) qui
représente le nombre de secondes depuis
Le début de l'époque Unix ... p>
BlockQuote> Ce qui signifie que le temps Stat () est en secondes, pas de millisecondes. Je n'ai pas regardé comment chaque inode stocke des informations de fichier, mais cela pourrait ne pas stocker d'informations jusqu'à la milliseconde. P> Une alternative peut être d'ajouter la valeur du moulin / microseconde au nom de fichier lui-même quand ils sont créé et les commander de cette façon? p> p>