> -----Mensaje original----- > De: Pedro Insua [mailto:[email protected]] > Enviado el: miércoles, 25 de marzo de 2009 13:35 > Para: [email protected] > Asunto: Re: Comprimir rutas completas > > On Wed, Mar 25, 2009 at 12:12:49PM +0100, Gorka wrote: > > > > > > > On Tue, Mar 24, 2009 at 11:14:38AM +0100, fernandojoseGmail wrote: > > > > Gorka wrote: > > > > > Hola. A ver si me explico correctamente. > > > > > > > > > > Quiero comprimir miles de archivos en rutas de carpetas > realmente > > > largas > > > > > y complejas que contienen muchas otras carpetas y archivos que > no > > > quiero > > > > > comprimir. > > > > > > > > > > Necesito que se comprima, además de cada archivo la ruta > completa > > > donde > > > > > se encuentra, de forma que al final me quede un único ..tar.gz > con > > > sólo > > > > > los archivos que necesito y no los demás. > > > > > > [...] > > > > > > > > ¿Cómo se puede hacer esto? Gracias. > > > > > > > > man tar > > > > Mira la opción --exclude-from file > > > > > > > > Se me olvidaba... > > > > Para generar el fichero puedes usar un find . -name "*" > fichero > > > > y editarlo para eliminar los ficheros que quieres excluir. > > > > > > También debe emplear la opción -P o --absolute-names. > > > > Hola, Fernando, Pablo, ... y demás listeros. > > > > La opción '--exclude-from file' hace exactamente lo contrario de lo > que > > quiero, ya que excluye de la compresión las rutas que aparecen en > file. > > Lo que yo necesito sería precisamente '--include-from file', que no > existe, > > claro. > > > > Para simularla coloco en file las rutas opuestas, es decir, las que > no > > quiero conservar, pero esto supone que tengo que convertir este file > > (resultado del ' find a -name "*" > file'): > > > > a > > a/b > > a/b/QUIERO1 > > a/b/c > > a/b/c/QUIERO4 > > a/b/NOQUIERO3 > > a/b/d > > a/b/d/e > > a/b/d/e/f > > a/b/d/e/f/NOQUIERO8 > > a/b/d/e/NOQUIERO7 > > a/b/d/e/QUIERO6 > > a/b/d/NOQUIERO5 > > a/b/QUIERO2 > > > > manualmente en este otro (fijaos en que no es simplemente eliminar > las > > líneas con los archivos que quiero): > > > > a/b/NOQUIERO3 > > a/b/d/e/f > > a/b/d/e/f/NOQUIERO8 > > a/b/d/e/NOQUIERO7 > > a/b/d/NOQUIERO5 > > > > y tras hacer el ' tar -cvzf comp2.tar.gz a --exclude-from file' ya se > me > > queda con lo que quiero, que es: > > > > /a/b/QUIERO1 > > /a/b/QUIERO2 > > /a/b/c/QUIERO4 > > /a/b/d/e/QUIERO6 > > > > Esta solución es válida, en el sentido de que soluciona el problema, > pero me > > pregunto si no habría una mejor. > > Como podeís ver, es más fácil y menos arriesgado tener un fichero de > rutas a > > incluir, que uno de rutas a excluir. > > La cosa se ve más clara cuando queremos comprimir miles de archivos y > > descartar millones. > > > > Olá. > > A decir verdad, creo que no he entendido muy bien lo que quiere > decir.. pero por lo que imagino... usted quiere solamente 'QUIERO?' > no ? > > Como he dicho, no estoy seguro de lo que dice.. pero como yo lo veo > , lo que usted quiere es algo como: > > 1) crear fichero con los archivos/directorios que quiere, es > decir,pex: > > $ cat > ficheros.txt > /a/b/QUIERO1 > /a/b/QUIERO2 > /a/b/c/QUIERO4 > /a/b/d/e/QUIERO6 > ^D > > 2) ahora que ya lo tiene, utiliza el flag -T y : > > $ tar -cf backup.tar -T ficheros.txt > > > Así creará un tar con las rutas que ha puesto en 'ficheros.txt' > > Espero que le sirva de algo. >
Pues claro que me sirve de algo, concretamente para dos cosas; - Para solucionar definitivamente el problema con 'tar -cvzf comp2.tar.gz -T ficheros_rutas_a_incluir'. Muchas gracias a ambos. - Y para recordar que he de repasar con más atención los man. Cuando leí esa opción pensé que era sólo para descomprimir las rutas preferidas, no para comprimir, voy a ver si puedo poner mi man en castellano, como veo que tenéis, para no cometer más errores. De nuevo gracias a todos. -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]

