Vous souhaitez sortinger les files par date de mise à jour, y compris les sous-directorys

Je veux sortinger uniquement les files par date de mise à jour, y compris les sous-directorys.

J'ai trouvé ls -lrtR | grep ^- ls -lrtR | grep ^- . mais il ne semble pas sortinger par date de mise à jour.

Et j'ai besoin de sauvegarder cette list dans un file. C'est possible?

 Apr 01 2010 InsideDoosanServiceImpl.class // in A directory Apr 08 2010 MainController.class // in B directory Apr 07 2010 RecommendController.class // in B directory Apr 01 2010 MainDao.class // in B directory 

Je veux dire que toute la list n'est pas classée par date, mais d'abord classée par dossier, et classée par date.

Je veux une list d'abord classée par date incluant tous les sous-directorys.

Je ne sais pas exactement ce que vous voulez dire par update dates à update dates , mais vous utilisez l'option -r qui selon l'homme fait cela –

-r Inverser l'ordre du sorting pour get l'ordre lexicographique inverse ou les inputs les plus anciennes en premier (ou les plus grands files en dernier, si combinés avec sortinger par taille

Je pense que cela devrait être assez bon pour vous si vous avez besoin de files sortingés par le time.

ls -lRt

Si vous n'avez pas besoin de toutes les autres choses répertoriées par ls vous pouvez utiliser –

ls -1Rt

Pour capturer le résultat dans un file, vous pouvez utiliser l'opérateur de redirection > et donner un nom de file. Donc, vous pouvez faire quelque chose comme ça –

ls -lRt > sortedfile.list

Mettre à jour:

 find . -type f -exec ls -lt {} + 

Avec ls, -R récursera les directorys et -t sortingera par modification. Cependant, il parcourt les directorys récursivement et applique -t à chaque directory. Il n'accumule pas tous les files de tous les directorys, puis les sortinger. (Pour autant que je comprends, ce dernier est ce que vous voulez)

Avec gnu find (1), vous pouvez spécifier le format de sortie pour inclure le nombre de secondes depuis l'époque et le nom du file, puis vous pouvez le sortinger (1).

 find . -type f -printf "%T@ %f\n" | sort -n > out.txt