[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Mejorar perfomance comando find



El día 30 de mayo de 2008 18:24, Rodrigo Gallardo
<rgallardo@google.com> escribió:
> On Fri, May 30, 2008 at 11:53:46AM +0200, david sastre wrote:
>> Lo que hago es programar una tarea que lanza bash.exe con un script
>> .sh que tiene esta única línea:
>>
>> find ${RUTA_BORRADO} -mtime +90 -type f -exec rm -f {} \;
>
> Esa forma de hacerlo está haciendo un fork/exec por cada archivo, lo
> cual es relativamente caro. El find en Debian tiene una acción -delete.
> Si el de cygwin también, usala así:
>
>  find ${RUTA} -opciones -delete
>
> Si no hay la opción delete, usa xargs para juntar muchos argumentos y
> llamar a rm menos veces:
>
>  find ${ruta} -opciones -print0 | xargs -0 rm -f
>
> Ojo con el -print0 Es importante por que en windows es más probable
> encontrarse nombres de archivo con espacios.
>
>
> --
> To UNSUBSCRIBE, email to debian-user-spanish-REQUEST@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
>
>

Tomo nota. Cygwin sí soporta opción -delete.
 La única manera de reducir llamadas recurrrentes (a stat, por
ejemplo) que conocía consiste en anteponer -type a -ctime (o -atime, o
-mtime...observación que sólo aparece en la versión inglesa de la man
de find, en el apartado de ejemplos :O).
Xargs no la he probado. Hasta el Lunes no tendré oportunidad de hacerlo.
Ya os contaré qué tal funciona, si mejora los tiempos. (procuraré
comparar ambas ;)
Muchas gracias.

-- 
 "Y el escribir a solas, sin finalidad, sin proyecto, porque sí,
porque es así, puede ofrecer el carácter de una acción trascendente,
que sólo porque se trata de una humanística acción no podemos llamarla
sagrada. Mas algo tiene de rito, de conjuro, y más aún, de ofrenda, de
aceptación del ineludible presente temporal, y de transitar en el
tiempo, de salirse al encuentro, como él hace, que no nos abandona."
(María Zambrano. "El hombre y lo divino")


Reply to: