101 votes

Comment puis-je répertorier tous les fichiers dans un répertoire et sous-répertoires dans l'ordre chronologique inverse?

Je veux faire quelque chose comme ls -t mais aussi inclure les fichiers des sous-répertoires. Le problème est que je ne veux pas que la sortie soit formatée comme le fait ls -R, qui est comme ceci :

[test]$ ls -Rt
b       testdir test

./testdir:
a

Je veux que cela soit formaté comme le commande find affiche les fichiers dans les sous-répertoires. C'est-à-dire :

[test]$ find .
.
./b
./test
./testdir
./testdir/a

Mais ce que find ne semble pas faire, c'est d'ordonner les résultats chronologiquement par heure de dernière mise à jour.

Alors comment puis-je lister tous les fichiers dans un répertoire et sous-répertoires, dans le format que find utilise, mais dans l'ordre chronologique inverse ?

2voto

wfg5475 Points 31

Essayez ceci:

ls -ltraR |egrep -v '\.$|\.\.|\.:|\.\/|total' |sed '/^$/d'

1voto

Pankaj Tiwari Points 11

La commande dans la réponse de wfg5475 fonctionne correctement, il suffit d'ajouter une chose pour ne montrer que les fichiers dans un répertoire et ses sous-répertoires :

ls -ltraR |egrep -v '\.$|\.\.|\.:|\.\/|total|^d' |sed '/^$/d'

Ajouté une chose : ^d pour ignorer tous les répertoires des sorties de la liste

0voto

The_Learner Points 32

Si vous pouvez utiliser l'interface graphique, essayez nautilus . puis recherchez depuis la barre de recherche. Par défaut, cette recherche liste tous les fichiers du répertoire et des sous-répertoires. Cependant, il n'est pas possible de trier par ordre chronologique inverse.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X