Foros del Web » Administración de Sistemas » Unix / Linux »

Como buscar fichero modificados recientemente?

Estas en el tema de Como buscar fichero modificados recientemente? en el foro de Unix / Linux en Foros del Web. Buenas, Sabéis como puedo analizar un directorio de forma recursiva y encontrar la fecha mas reciente de modificación? Es decir, necesito saber la fecha o ...
  #1 (permalink)  
Antiguo 12/02/2010, 04:06
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 8 meses
Puntos: 20
Como buscar fichero modificados recientemente?

Buenas,

Sabéis como puedo analizar un directorio de forma recursiva y encontrar la fecha mas reciente de modificación?
Es decir, necesito saber la fecha o diferencia de días, de cuando fue la última vez que se modificó el último archivo. del directorio.
Utilidad: saber cuando fue la última vez que tuvo actividad ese directorio.

¿Sabéis como conseguirlo?

Imagino que con el find y el parametro mtime pero no hay manera...

Porque soy yo el que le dice que busque los ficheros que hay sido modificados x ej. desde hace 1 semana

find / -type f -mtime -7

Quiero que sea él, quien me diga cuando fue la última vez que se modificaron los archivos de ese directorio.

Muchas gracias de antemano
  #2 (permalink)  
Antiguo 15/02/2010, 04:26
 
Fecha de Ingreso: febrero-2010
Mensajes: 5
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Como buscar fichero modificados recientemente?

prueba con ls -c -l
;)
  #3 (permalink)  
Antiguo 15/02/2010, 13:57
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 8 meses
Puntos: 20
Respuesta: Como buscar fichero modificados recientemente?

Cita:
Iniciado por abysslayer Ver Mensaje
prueba con ls -c -l
;)
Qué va eso no funciona.

Lo único que he encontrado que funciona, pero solo en UN directorio concreto es 'ls -lart'

Pero la gracia sería hacerlo recursivamente en todos!

Salu2!
  #4 (permalink)  
Antiguo 15/02/2010, 15:16
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 8 meses
Puntos: 20
Respuesta: Como buscar fichero modificados recientemente?

Conseguido

Aquí dejo el script, se aceptan sugerencias.

Código bash:
Ver original
  1. #!/bin/bash
  2. #################################################################################
  3. # Busca recursivamente en el directorio que le pases como argumento $1
  4. # todos los archivos, ordenados (arriba) los modificados recientemente
  5. # Autor: neodani
  6. # Fecha creacion: 15-02-2010
  7. #################################################################################
  8.  
  9. IFS=$'\x0A'$'\x0D' # Para evitar que el bucle for rompa por espacios
  10.  
  11. RUTA=$1 #Directorio a explorar
  12.  
  13. for file in $(find $RUTA -type f -printf '%T@ %p\n'| sort -r);do
  14.  
  15.         fecha=$(echo $file | cut -d" " -f1)
  16.         fecha=$(date -d @$fecha) # Traduce la fecha TIMESTAMP en legible
  17.         filename=$(echo $file | cut -d" " -f2)
  18.         echo $fecha $filename
  19. done;

Salu2!
  #5 (permalink)  
Antiguo 15/02/2010, 15:44
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 8 meses
Puntos: 20
Respuesta: Como buscar fichero modificados recientemente?

He incluido una mejora al script

Ademas del directorio donde quieres que busque puedes pasarle el numero de ficheros que quieres mostrar, útil para directorios muy largos

./ultima_Modificacion.sh /tmp/ 5

Código bash:
Ver original
  1. #!/bin/bash
  2. #################################################################################
  3. # Busca recursivamente en el directorio que le pases como argumento $1
  4. # todos los archivos, ordenados (arriba) los modificados recientemente
  5. # Uso: ./ultima_Modificacion.sh /tmp/ 5
  6. # PROGRAMA DIRECTORIO [NUM_ARCHI_A_MOSTRAR]
  7. # Autor: neodani
  8. # Fecha creacion: 15-02-2010
  9. #################################################################################
  10.  
  11. IFS=$'\x0A'$'\x0D' # Para evitar que el bucle for rompa por espacios
  12.  
  13. RUTA=$1 #Directorio a explorar
  14. CORTAR=$2 #Corta el numero de lineas
  15. NUM_ARCHIVOS=0
  16.  
  17. for file in $(find $RUTA -type f -printf '%T@ %p\n'| sort -r);do
  18.  
  19.         fecha=$(echo $file | cut -d" " -f1)
  20.         fecha=$(date -d @$fecha) # Traduce la fecha TIMESTAMP en legible
  21.         filename=$(echo $file | cut -d" " -f2)
  22.         echo $fecha $filename >> temp.$$
  23.         NUM_ARCHIVOS=$(expr $NUM_ARCHIVOS + 1)
  24. done;
  25.  
  26. echo ""
  27. if [ ! -n "$2" ];then
  28.         CORTAR=$NUM_ARCHIVOS
  29. fi
  30. echo "  Mostrando $CORTAR de $NUM_ARCHIVOS archivos encontrados"
  31. echo "-----------------------------------------------"
  32. cat temp.$$ | head -n$CORTAR
  33. rm temp.$$

Salu2!

Etiquetas: fichero
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:05.