Entonces, quiero mostrar (a través de, ls
por ejemplo) todos los archivos, que se modificaron en los últimos siete días. Si estoy en mi carpeta docroot, debería poder mirar "más profundo".
Por ejemplo:
File Last changed
docroot
|- myfile1 30.11.2015
|- myfile2 10.11.2015
|- MySub
|-sub1 30.11.2015
|-sub2 10.11.2015
Por lo tanto, el ls
(o lo que quepa) debería salir myfile1
y (si es posible)
MySub/sub1
.
¿Es esto factible con un comando?
command-line
search
ls
DasSaffe
fuente
fuente
find
tiene unals
opción para que puedas hacerlofind . -type f -mtime -7 -ls
find ... -exec ls -l {} +
que se ejecuta de manerals -l
mucho más eficiente, menos veces con múltiples parámetros. Esta es una opción estándarfind
especificada por POSIX.Con
zsh
:**/*
buscará archivos recursivamente comenzando desde el directorio actual(.m-7)
es un calificador global donde.
indica un archivo normal,m-7
indica archivos que se modificaron en los últimos 7 díasfuente
El siguiente comando funciona como un sueño en Mac OSX, tal vez también en ubuntu ...
Esto encuentra archivos en el árbol de directorios actual que se han modificado en los últimos 7 días, genera la fecha de modificación + hora y ruta, primero ordenadas más nuevas.
Salida de ejemplo:
Agradecería cualquier comentario de los usuarios de ubuntu.
fuente
No es exactamente lo que se pidió ... pero es mucho más fácil de recordar ...
o
fuente
7 días que son 60 segundos * 60 minutos * 24 horas * 7 días = 604800 segundos
Averigüe la fecha actual en segundos (tiempo de época Unix):
Resta los 7 días en segundos:
Ahora tome el
stat
comando e imprima estadísticas para todos los archivos en formato "nombre + tiempo en segundos" y úselosawk
para recortar aquellos archivos cuyo tiempo de modificación es mayor que la fecha que calculamosParticularmente interesantes son los últimos 3 archivos, porque sé que los estuve trabajando hace menos de 7 días. Entonces sé que funciona
fuente
awk '$2 > 1448271265 {print $0}'
usted puede decir directamenteawk '$2 > 1448271265'
. En una condición verdadera, awk imprime la línea actual como una acción predeterminada.