Digamos que tengo un directorio como /home/user/
.Lista de archivos por la última fecha editada
¿Cómo puedo listar CADA archivo (incluso en subdirectorios) en esa carpeta, y ordenarlos por la fecha en que fueron editados por última vez?
Digamos que tengo un directorio como /home/user/
.Lista de archivos por la última fecha editada
¿Cómo puedo listar CADA archivo (incluso en subdirectorios) en esa carpeta, y ordenarlos por la fecha en que fueron editados por última vez?
Se puede utilizar:
$ ls -Rt
donde -R
significa recursivas (incluir los subdirectorios) y -t
significa "ordenar por fecha de la última modificación".
Si desea una lista maestra en la que todos los archivos están ordenados juntos Por fecha de modificación, que muestra el directorio en que están, pero no agrupados por directorio, puede utilizar esto:
find . -type f -printf "%-.22T+ %M %n %-8u %-8g %8s %Tx %.8TX %p\n" | sort | cut -f 2- -d ' '
El resultado se parece mucho a 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
Para aquellos de ustedes que usan Mac OS X, la opción -printf no está disponible en BSD find (obtendrá este error: find: -printf: unknown primary or operator
). Afortunadamente, usted puede instalar GNU encontrar a través Homebrew (debe haber una opción para Fink y MacPorts así):
brew install findutils
Después de que la instalación de GNU encontrar debería estar disponible para usted como gfind
. Entonces, todo lo que tiene que hacer es cambiar la línea de arriba a:
gfind . -type f -printf "%-.22T+ %M %n %-8u %-8g %8s %Tx %.8TX %p\n" | sort | cut -f 2- -d ' '
Agradable. Todo el asunto de agrupar directorios con ls -R es molesto. –
Excelente pedazo de código, gracias! –
Gran código, tomó el script aprox. 5 segundos para ordenar e imprimir fotos de 13k en muchas carpetas diferentes (a través de Cygwin en una computadora bastante lenta). – Magnus
Gracias, eso es perfecto. que añade un -l en allí también, así que puede ver las fechas así que para cualquier persona que busca en esto más adelante, es- $ ls -lrt – Marty
Si usted está haciendo esto en el indicador y quieren ver más archivos recientemente modificados, considere 'ls -lrt [RhA]'. el '-r' invierte el orden de clasificación, dejando cosas editadas recientemente en la parte inferior de la lista ... – dmckee
Esto añadido a' -ila' le proporciona prácticamente toda la información que podría necesitar. '$ ls -ilaRt' – Falkenfighter