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

RE: Comprimir rutas completas




> 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. 





Reply to: