On Fri, 17 Oct 2003, Santiago Vila wrote: > Miguel Rodríguez Penabad escribió: > > > find . -type d -exec mkdir -p /tmp/{} \; > > Eso es un mkdir por cada directorio, pero se puede hacer un poco más > eficiente aprovechando que mkdir admite varios argumentos. Yo lo haría así: > > find . -type d | (cd /tmp && xargs --no-run-if-empty mkdir -p)
Sino me equivoco estas lanzando una subshell que a su ver lanza dos procesos cd y xarg de los cuales el último lanza otro proceso más mkdir. El problema mayor es que el numero de argumentos con los que se lanza mkdir es enorme y queda ocupando mucha memoria como parte del entorno de ejecucion del proceso mkdir. No voy a poner en duda que se una mejora respecto a la solución anterior pero se puede hacer no solo más eficiente sino más sencillo que en ambos casos. find . -type d | cpio -pdm /tmp La opcion -p de cpio se pensó para eso lo que pasa es que algunas opciones avanzadas del comando cp hacen olvidar a muchos lo flexible que es cpio -p para mover cosas. -- Un saludo Antonio Castro /\ /\ Ciberdroide Informática \\W// << http://www.ciberdroide.com >> _|0 0|_ +-oOOO-(___o___)-OOOo---------------------+ | . . . . U U . Antonio Castro Snurmacher | | . . . . . . . [EMAIL PROTECTED] | +()()()---------()()()--------------------+