Sé ls -tque enumerará todos los archivos por tiempo modificado. Pero, ¿cómo puedo limitar estos resultados solo a los últimos n archivos?
tharlya que tiende a tener todo lo que necesito.
Sé ls -tque enumerará todos los archivos por tiempo modificado. Pero, ¿cómo puedo limitar estos resultados solo a los últimos n archivos?
tharlya que tiende a tener todo lo que necesito.
Respuestas:
Intenta usar cabeza o cola. Si desea los 5 archivos modificados más recientemente:
ls -1t | head -5
El -1 (que es uno) dice un archivo por línea y el encabezado dice que tome las primeras 5 entradas.
Si quieres los últimos 5 prueba
ls -1t | tail -5
lsen varias columnas, pero la salida lsse canaliza al siguiente comando con 1 archivo / directorio a la vez
ls -1t | head -n 6 | tail -n 5
La respuesta aceptada enumera solo los nombres de archivo, pero para obtener los 5 archivos principales también se puede usar:
ls -lht | head -6
dónde:
-l salidas en formato de lista
-h hace que la salida sea legible para humanos (es decir, los tamaños de archivo aparecen en kb, mb, etc.)
-t ordena la salida colocando primero el archivo modificado más recientemente
head -6mostrará 5 archivos porque lsimprime el tamaño del bloque en la primera línea de salida.
Creo que este es un enfoque un poco más elegante y posiblemente más útil.
Salida de ejemplo:
total 26960312
-rw-r--r--@ 1 user staff 1.2K 11 Jan 11:22 phone2.7.py
-rw-r--r--@ 1 user staff 2.7M 10 Jan 15:26 03-cookies-1.pdf
-rw-r--r--@ 1 user staff 9.2M 9 Jan 16:21 Wk1_sem.pdf
-rw-r--r--@ 1 user staff 502K 8 Jan 10:20 lab-01.pdf
-rw-rw-rw-@ 1 user staff 2.0M 5 Jan 22:06 0410-1.wmv
De forma predeterminada, ls -tordena la salida de la más nueva a la más antigua, por lo que la combinación de comandos a utilizar depende de en qué dirección desea que se ordene su salida.
Para los 5 archivos más nuevos ordenados del más nuevo al más antiguo, use headpara tomar las primeras 5 líneas de salida:
ls -t | head -n 5
Para los 5 archivos más nuevos ordenados del más antiguo al más nuevo, use el -rinterruptor para revertir lsel orden de clasificación y use tailpara tomar las últimas 5 líneas de salida:
ls -tr | tail -n 5
ls -tlistar archivos por hora de creación, no por última vez modificada. Úselo ls -ltcsi desea enumerar los archivos por última vez modificada del último al primero (de arriba a abajo). Por lo tanto, para enumerar el último n:ls -ltc | head ${n}
-t sort by modification time, newest first
ls -lrtpodría ayudar a alguien.