Sé ls -t
que enumerará todos los archivos por tiempo modificado. Pero, ¿cómo puedo limitar estos resultados solo a los últimos n archivos?
tharl
ya que tiende a tener todo lo que necesito.
Sé ls -t
que enumerará todos los archivos por tiempo modificado. Pero, ¿cómo puedo limitar estos resultados solo a los últimos n archivos?
tharl
ya 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
ls
en varias columnas, pero la salida ls
se 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 -6
mostrará 5 archivos porque ls
imprime 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 -t
ordena 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 head
para 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 -r
interruptor para revertir ls
el orden de clasificación y use tail
para tomar las últimas 5 líneas de salida:
ls -tr | tail -n 5
ls -t
listar archivos por hora de creación, no por última vez modificada. Úselo ls -ltc
si 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 -lrt
podría ayudar a alguien.