Disons que j'ai un répertoire comme /home/user/
.Lister les fichiers par la dernière date de modification
Comment puis-je lister CHAQUE fichier (même dans les sous-répertoires) sous ce dossier et les classer par date de dernière modification?
Disons que j'ai un répertoire comme /home/user/
.Lister les fichiers par la dernière date de modification
Comment puis-je lister CHAQUE fichier (même dans les sous-répertoires) sous ce dossier et les classer par date de dernière modification?
Vous pouvez utiliser:
$ ls -Rt
où -R
signifie (récursives) et inclure les sous-répertoires "trier par date de dernière modification" -t
moyens.
Si vous souhaitez une liste maîtresse dans laquelle tous les fichiers sont classés ensemble par date de modification, indiquant le répertoire dans lequel ils sont, mais pas regroupés par répertoire, vous pouvez utiliser ceci:
find . -type f -printf "%-.22T+ %M %n %-8u %-8g %8s %Tx %.8TX %p\n" | sort | cut -f 2- -d ' '
Le résultat ressemble beaucoup ls -l
:
-rw-r--r-- 1 root root 3892 08/11/2009 11:03:36 /usr/share/man/man1/xmllint.1.gz -rw-r--r-- 1 root root 22946 08/13/2009 11:59:20 /usr/share/man/man1/curl.1.gz -rw-r--r-- 1 root root 728 08/17/2009 12:06:33 /usr/share/man/man1/thunderbird.1.gz -rw-r--r-- 1 root root 873 08/18/2009 10:52:47 /usr/share/man/man1/libgnutls-config.1.gz -rw-r--r-- 1 root root 2552 08/19/2009 02:00:34 /usr/share/man/man3/Purple.3pm.gz -rw-r--r-- 1 root root 9546 08/19/2009 02:02:00 /usr/share/man/man1/pidgin.1.gz -rw-r--r-- 1 root root 2201 08/19/2009 02:02:46 /usr/share/man/man3/Pidgin.3pm.gz -rw-r--r-- 1 root root 926 08/19/2009 02:03:05 /usr/share/man/man1/purple-remote.1.gz -rw-r--r-- 1 root root 18052 08/19/2009 04:11:47 /usr/share/man/man1/mono.1.gz -rw-r--r-- 1 root root 1845 08/19/2009 04:11:47 /usr/share/man/man5/mono-config.5.gz
Pour ceux d'entre vous utilisant Mac OS X, l'option -printf n'est pas disponible sur la recherche BSD (vous obtiendrez cette erreur: find: -printf: unknown primary or operator
). Heureusement, vous pouvez installer GNU trouver par Homebrew (il devrait y avoir une option pour Fink et Macports ainsi):
brew install findutils
Après l'installer GNU trouver devraient être disponibles pour vous gfind
. Donc, tout ce que vous devez faire est de changer la ligne ci-dessus pour:
gfind . -type f -printf "%-.22T+ %M %n %-8u %-8g %8s %Tx %.8TX %p\n" | sort | cut -f 2- -d ' '
Nice one. L'ensemble du regroupement d'annuaire avec ls -R est ennuyeux. –
Excellent morceau de code, merci! –
Bon code, il a fallu le script env. 5 secondes pour trier et imprimer des photos 13k dans de nombreux dossiers différents (via Cygwin sur un ordinateur assez lent). – Magnus
Merci, c'est parfait. J'ai ajouté un -l dedans là aussi je peux réellement voir les dates ainsi pour n'importe qui qui recherche ceci plus tard, c'est- $ ls -lRt – Marty
Si vous faites ceci à l'invite et voulez voir le plus fichiers récemment modifiés, considérons 'ls -lrt [RhA]'. le '-r' inverse l'ordre de tri, laissant les choses récemment éditées en bas de la liste ... – dmckee
Ceci ajouté à un' -ila' vous donne à peu près toutes les informations dont vous auriez besoin. '$ ls -ilaRt' – Falkenfighter