Con el ls
comando, ¿es posible mostrar solo los archivos creados después de una fecha específica, hora ...?
Lo pregunto porque tengo un directorio con miles de archivos.
Quiero ver todos los archivos que se crearon desde ayer.
Lo uso ls -ltr
pero tengo que esperar para ver todos los archivos ...
¿Hay un equivalente de DIRECTORY/SINCE=date
OpenVMS?
ls
enumera archivos, pero no ofrece mucho para seleccionar qué archivos enumerar o el formato de salida. Use globbing (comodines de shell) ofind
cuando desee seleccionar archivos por nombre o metadatos (por ejemplo, fecha).zsh
:ls -1 -- *(.m-1)
Respuestas:
Puede usar el
find
comando para buscar todos los archivos que se hayan modificado después de un cierto número de días.Por ejemplo, para buscar todos los archivos en el directorio actual que se han modificado desde ayer (hace 24 horas) use:
Tenga en cuenta que para buscar archivos modificados antes de hace 24 horas, debe usar en
-mtime +1
lugar de-mtime -1
.fuente
ls
aquí, Luc.-mmin 5
enumera los archivos modificados en los últimos 5 minutos.-newermt "2011-02-27 13:42"
enumera los archivos modificados desde la fecha especificada. Puede usar en-exec ls --color -ld {} +
lugar de-ls
obtener la pantalla a color habitual (si le gusta la salida de color ls).find . -mmin -5
Esto encontrará todos los archivos modificados después de una fecha específica.
fuente
fuente
date
diceJun 03
, perols
diceJun 3
, así que esto no funciona. (2) Hace una semana, la fecha era el 27 de mayo.ls -l | grep "May 27"
Encontraría archivos modificados ese día, pero también archivos modificados el 27 de mayo de cualquier otro año, y archivos con "27 de mayo" en su nombre. (Y si usted piensa que es una preocupación totalmente falso, mirar hacia arriba “DEC 10” .) (3) y, si se las arregló para llegardate
a decirJun 2
, grepping para que se encuentreJun 20
a travésJun 29
, pero noJun 2
(con dos plazas). ... (Continúa)ls -ltr
para obtener los archivos modificados más recientemente al final de la lista. Si está buscando una fecha, no hay necesidad de hacerlo (excepto para obtener los archivos del 27 de mayo de 2015 al final de la lista, después de los archivos del 27 de mayo de 2014, 27 de mayo de 2013, etc.). (5) En awk,print $2, $3
es equivalente aprint $2" "$3
, y es mucho más fácil de leer, especialmente cuando hay otros tres niveles de citas.ls -ltr | grep "$(date | awk '{print $2,$3}')"
Espero que esto funcione:
Aquí:
Este comando anterior imprime todos los nombres de archivo creados a partir del 1 de mayo y hasta el 31 de mayo.
si quieres imprimir la fecha también en la consola prueba esto
Si desea especificar la ruta del directorio, puede probar esto
fuente
ls
salida. Y no todos hablan inglés :-)